diff --git a/.forgejo/workflows/tag-release.yml b/.forgejo/workflows/tag-release.yml index 428ec72..79c61b0 100644 --- a/.forgejo/workflows/tag-release.yml +++ b/.forgejo/workflows/tag-release.yml @@ -19,7 +19,6 @@ on: - cache - checkout - download-artifact - - esb-deploy - helm-deploy - i18n-sync - inject-content diff --git a/esb-deploy/README.md b/esb-deploy/README.md deleted file mode 100644 index ae02466..0000000 --- a/esb-deploy/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# esb-deploy - -Deploy a service to an ESB docker host. - -## Inputs - -| Input | Required | Default | Description | -|-------|----------|---------|-------------| -| `docker-host` | Yes | - | esbdb3.schmalzgroup.net, esbdb4.schmalzgroup.net, esbdb2-stage.schmalzgroup.net| -| `java-version` | Yes | 25 | Same as default of the maven-build action | -| `maven-profile` | No | `test` | Maven profile to activate during deploy | -| `maven-settings` | **Yes** | — | Secret containing the `settings.xml` content used for repository authentication | -| `service` | Yes | — | Name of the service to deploy | -| `stage` | No | true | If true this is a stage deployment | - -## Usage - -```yaml -- uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/esb-deploy@esb-deploy-v1 - with: - service: my-service - docker-host: esbdocker2-stage.schmalzgroup.net - java-version: 8 - maven-profile: test - maven-settings: ${{ secrets.MAVEN_SETTINGS }} - stage: true -``` - -## Notes - -- The compose files are extracted from variables. They can be provided on the organization or repository level. -- The action uses the maven-build action to build the service. The pom.xml has to be in the root directory diff --git a/esb-deploy/action.yml b/esb-deploy/action.yml deleted file mode 100644 index 584274e..0000000 --- a/esb-deploy/action.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Deploy ESB -description: Deploy a service to an ESB docker host. - -inputs: - docker-host: - description: Docker host to deploy to - required: true - maven-profile: - required: false - default: 'test' - description: 'Maven profile to use for the build' - maven-settings: - description: Secret containing the settings.xml content used for repository authentication - required: true - java-version: - description: Java version to use for the build - required: true - service: - description: Name of the service to deploy - required: true - stage: - description: Whether to deploy to stage environment (true) or production environment (false) - required: false - default: 'true' - -runs: - using: composite - steps: - - name: Create compose files - shell: bash - env: - BASE_COMPOSE: ${{ vars.DOCKER_COMPOSE }} - SU_COMPOSE: ${{ vars.DOCKER_COMPOSE_SU }} - run: | - printf '%s\n' "$BASE_COMPOSE" > compose.yml - printf '%s\n' "$SU_COMPOSE" > compose-su.yml - - - uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/maven-build@maven-build-v1 - with: - phase: verify - maven-settings: ${{ inputs.maven-settings }} - verify-goals: clean package - java-version: ${{ inputs.java-version }} - maven-profile: ${{ inputs.maven-profile}} - - - name: Compose stage - if: ${{ inputs.stage == 'true' }} - shell: bash - env: - SERVICE: ${{ inputs.service }} - run: | - echo "Deploying $SERVICE to stage environment" - export DOCKER_HOST="tcp://${{ inputs.docker-host }}:2375" - docker compose -f compose.yml -f compose-su.yml up -d --build --no-deps "$SERVICE" - - - name: Compose prod - if: ${{ inputs.stage != 'true' }} - shell: bash - env: - SERVICE: ${{ inputs.service }} - run: | - echo "Deploying $SERVICE to production environment" - export DOCKER_HOST="tcp://${{ inputs.docker-host }}:2375" - docker compose -f compose.yml up -d --build --no-deps "$SERVICE" diff --git a/maven-build/action.yml b/maven-build/action.yml index 6b16ded..961bc28 100644 --- a/maven-build/action.yml +++ b/maven-build/action.yml @@ -94,11 +94,9 @@ runs: env: VERIFY_GOALS: ${{ inputs.verify-goals }} EXTRA_ARGS: ${{ inputs.extra-args }} - MAVEN_PROFILE: ${{ inputs.maven-profile }} run: | mvn --batch-mode $VERIFY_GOALS \ -s /tmp/maven-settings.xml \ - -P "$MAVEN_PROFILE" \ $EXTRA_ARGS - name: Deploy diff --git a/playwright-run/README.md b/playwright-run/README.md index 570a9ac..825b354 100644 --- a/playwright-run/README.md +++ b/playwright-run/README.md @@ -12,47 +12,18 @@ Run Playwright E2E tests for one shard and upload the blob report as an artifact | `jfrog-token` | No | `""` | JFrog npm auth token | | `shard-index` | No | `1` | Current shard index (1-based). Set to `1` when not sharding. | | `shard-total` | No | `1` | Total number of shards. Set to `1` to disable sharding. | -| `no-deps` | No | `false` | Skip dependencies between Playwright projects (e.g. setup/teardown). Passes `--no-deps` to Playwright. | -| `projects` | No | `""` | Comma-separated list of Playwright projects to run (e.g. `chromium,firefox,Mobile Chrome`). Leave empty to use the Playwright default. | | `artifact-retention-days` | No | `3` | Number of days to retain the blob report artifact | ## Usage -### Basic - ```yaml - uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/playwright-run@playwright-run-v1 with: - working-directory: e2e + working-directory: frontend node-version: 22 jfrog-token: ${{ secrets.JFROG_TOKEN }} -``` - -### Sharded - -```yaml -jobs: - test: - name: "Test Shard ${{ matrix.shard-index }}/${{ matrix.total }}" - # Define the matrix strategy on the parent job: - strategy: - fail-fast: false - matrix: - total: [5] # The same for all instances - shard-index: [1, 2, 3, 4, 5] - steps: - # ...other steps like checkout repo etc. - - name: Run tests - uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/playwright-run@playwright-run-v1 - with: - working-directory: frontend - node-version: 22 - jfrog-token: ${{ secrets.JFROG_TOKEN }} - # Matrix data is passed here: - shard-index: ${{ matrix.shard-index }} - shard-total: ${{ matrix.total }} - no-deps: "true" - projects: "chromium,firefox,webkit,Mobile Chrome,Mobile Safari" + shard-index: ${{ matrix.shard-index }} + shard-total: 5 ``` ## Notes diff --git a/playwright-run/action.yml b/playwright-run/action.yml index f521fdd..b07b29b 100644 --- a/playwright-run/action.yml +++ b/playwright-run/action.yml @@ -29,14 +29,6 @@ inputs: description: Total number of shards. Set to 1 to disable sharding. required: false default: "1" - no-deps: - description: Whether to ignore dependencies between Playwright projects (e.g. setup, teardown) - required: false - default: false - projects: - description: Comma-separated list of Playwright projects to include, leave empty to use the Playwright default - required: false - default: "" artifact-retention-days: description: Number of days to retain the blob report artifact required: false @@ -78,25 +70,12 @@ runs: WORKING_DIR: ${{ inputs.working-directory }} SHARD_INDEX: ${{ inputs.shard-index }} SHARD_TOTAL: ${{ inputs.shard-total }} - NO_DEPS: ${{ inputs.no-deps }} - PROJECTS: ${{ inputs.projects }} run: | SHARD_ARG="" if [ "${SHARD_TOTAL}" != "1" ]; then SHARD_ARG="--shard=${SHARD_INDEX}/${SHARD_TOTAL}" fi - NO_DEPS_ARG="" - if [ "${NO_DEPS}" == "true" ]; then - NO_DEPS_ARG="--no-deps" - fi - PROJECTS_ARG=() - if [ -n "${PROJECTS}" ]; then - IFS=',' read -ra PROJECT_LIST <<< "${PROJECTS}" - for project in "${PROJECT_LIST[@]}"; do - PROJECTS_ARG+=("--project=${project}") - done - fi - pnpm --prefix="${WORKING_DIR}" exec playwright test ${SHARD_ARG} ${NO_DEPS_ARG} "${PROJECTS_ARG[@]}" --reporter=blob,dot + pnpm --prefix="${WORKING_DIR}" exec playwright test ${SHARD_ARG} --reporter=blob,dot - name: Upload blob report if: ${{ !cancelled() }}