ci: stop the test-e2e job from hanging for 6 hours #4910
Workflow file for this run
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: ci | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - "renovate/**" | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup | |
| with: | |
| node-version: latest | |
| - run: pnpm run lint | |
| test-node-versions: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [22, 24] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - run: pnpm test | |
| test-e2e: | |
| runs-on: ubuntu-latest | |
| # Use the official Playwright image, which ships Chromium, Firefox, WebKit and | |
| # every system dependency they need. That removes the | |
| # `playwright install --with-deps` step, which has been hanging until | |
| # GitHub's 6-hour job limit on every run since 2026-08-24. | |
| # | |
| # Keep the tag in sync with the `@playwright/test` version in | |
| # packages/openapi-fetch (currently 1.59.1). | |
| container: | |
| image: mcr.microsoft.com/playwright:v1.59.1-noble | |
| # recommended by Playwright when running Chromium in a container | |
| options: --ipc=host | |
| # fail fast instead of occupying a runner for 6 hours if anything hangs | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup | |
| with: | |
| node-version: 22 | |
| # this job installs in ~8s, so caching the store costs more than it saves | |
| pnpm-cache: "" | |
| - run: pnpm run test-e2e | |
| env: | |
| # Firefox refuses to start as root unless $HOME is owned by root, and | |
| # GitHub sets HOME=/github/home, which is owned by pwuser. Chromium and | |
| # WebKit start fine, so without this only the firefox project fails. | |
| HOME: /root | |
| test-macos: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup | |
| with: | |
| node-version: latest | |
| - run: pnpm test | |
| test-windows: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup | |
| with: | |
| node-version: latest | |
| - run: pnpm test |