PhaserForge CI / E2E (Full Matrix) #154
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PhaserForge CI / E2E (Full Matrix) | |
| on: | |
| schedule: | |
| - cron: '0 6 * * *' | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| HOME: /tmp/phaserforge-home | |
| permissions: | |
| contents: read | |
| jobs: | |
| e2e-nightly-full-matrix: | |
| name: E2E Full Matrix (shard ${{ matrix.shard }}/${{ matrix.shards }}) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: mcr.microsoft.com/playwright:v1.61.1-resolute | |
| options: --ipc=host | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] | |
| shards: [12] | |
| steps: | |
| - name: Prepare writable home | |
| run: mkdir -p "$HOME" | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup Node | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 26 | |
| - name: Install | |
| run: npm ci | |
| - name: Build docs for E2E | |
| run: npm run docs:build | |
| - name: E2E Tests | |
| env: | |
| PW_PROJECTS: firefox,webkit,msedge | |
| # Keep browser processes isolated; concurrent workers cause broad WebKit timing inflation. | |
| PW_WORKERS: '1' | |
| PHASERFORGE_DOCS_PREBUILT: '1' | |
| run: npm run test:e2e -- --project=firefox --project=webkit --project=msedge --shard=${{ matrix.shard }}/${{ matrix.shards }} --fail-on-flaky-tests | |
| - name: Record timing telemetry | |
| if: always() | |
| run: >- | |
| npm run repair:ci -- e2e-timing --report playwright-report | |
| --run-id full-matrix-shard-${{ matrix.shard }} || true | |
| - name: Upload Playwright Artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-full-matrix-${{ matrix.shard }}-of-${{ matrix.shards }} | |
| path: | | |
| playwright-report | |
| test-results | |
| .repair-harness/runs/full-matrix-shard-${{ matrix.shard }} |