From 9783972537edc63ff438168f5c4348148512b4b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20B=C3=B6hringer?= Date: Wed, 17 Jun 2026 09:41:57 +0200 Subject: [PATCH 1/2] fix: actually provide maven profile --- maven-build/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/maven-build/action.yml b/maven-build/action.yml index 1c9b161..6b16ded 100644 --- a/maven-build/action.yml +++ b/maven-build/action.yml @@ -94,6 +94,7 @@ 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 \ From 298cf5c375786e42944ac90487b6160402ce6771 Mon Sep 17 00:00:00 2001 From: DMI Date: Wed, 24 Jun 2026 10:01:11 +0000 Subject: [PATCH 2/2] feat: add `no-deps` and `projects` inputs to `playwright-run` action and adjust readme to include a basic and a sharded example --- playwright-run/README.md | 35 ++++++++++++++++++++++++++++++++--- playwright-run/action.yml | 23 ++++++++++++++++++++++- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/playwright-run/README.md b/playwright-run/README.md index 825b354..570a9ac 100644 --- a/playwright-run/README.md +++ b/playwright-run/README.md @@ -12,18 +12,47 @@ 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: frontend + working-directory: e2e node-version: 22 jfrog-token: ${{ secrets.JFROG_TOKEN }} - shard-index: ${{ matrix.shard-index }} - shard-total: 5 +``` + +### 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" ``` ## Notes diff --git a/playwright-run/action.yml b/playwright-run/action.yml index b07b29b..f521fdd 100644 --- a/playwright-run/action.yml +++ b/playwright-run/action.yml @@ -29,6 +29,14 @@ 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 @@ -70,12 +78,25 @@ 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 - pnpm --prefix="${WORKING_DIR}" exec playwright test ${SHARD_ARG} --reporter=blob,dot + 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 - name: Upload blob report if: ${{ !cancelled() }}