Sharded runs
How to set up failed test reruns for sharded Playwright runs on GitHub Actions
Last updated
Was this helpful?
Was this helpful?
name: failed-only-reruns
on:
push:
jobs:
test-reporter:
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3]
timeout-minutes: 60
runs-on: ubuntu-latest
container: mcr.microsoft.com/playwright:v1.60.0-noble
env:
CURRENTS_PROJECT_ID: ${{ vars.CURRENTS_PROJECT_ID }}
CURRENTS_RECORD_KEY: ${{ secrets.CURRENTS_RECORD_KEY }}
CURRENTS_CI_BUILD_ID: ${{ github.repository }}-${{ github.run_id }}-${{ github.run_attempt }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- run: |
echo "$GITHUB_WORKSPACE"
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/setup-node@v4
with:
node-version: "24.x"
- name: Install dependencies
run: |
npm ci
npx playwright install chrome
- name: Playwright Last Failed action
id: last-failed-action
uses: currents-dev/playwright-last-failed@v2
with:
pw-output-dir: basic/test-results
matrix-index: ${{ matrix.shard }}
matrix-total: ${{ strategy.job-total }}
- name: Playwright Tests
working-directory: ./basic
run: |
COMMAND="npx playwright test --config playwright.config.reporter.ts ${{ steps.last-failed-action.outputs.extra-pw-flags }}"
echo "Running command: $COMMAND"
$COMMAND