name: E2E tests on: pull_request: push: branches: - main jobs: test: timeout-minutes: 10 runs-on: ubuntu-latest strategy: matrix: shard: [1/3, 2/3, 3/3] steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 - run: corepack enable - uses: actions/setup-node@v3 with: node-version: 20 cache: 'pnpm' - name: Get Playwright version id: playwright-version run: echo "PLAYWRIGHT_VERSION=$(jq -r .dependencies.playwright package.json)" >> "$GITHUB_OUTPUT" - name: Install dependencies run: pnpm install - name: Build app run: pnpm build - name: Restore Playwright browsers from cache uses: actions/cache@v3 with: path: ~/.cache/ms-playwright key: ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.PLAYWRIGHT_VERSION }}-${{ hashFiles('**/playwright.config.ts') }} restore-keys: | ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.PLAYWRIGHT_VERSION }}- ${{ runner.os }}-playwright- - name: Install Playwright Browsers run: pnpm exec playwright install --with-deps - name: Run Playwright tests run: pnpm run test:e2e --shard=${{ matrix.shard }}