From 565e6729dabcbf55d024e4c93509fcb9a12476c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Be=C3=B1at=20Espi=C3=B1a?= Date: Sat, 24 Oct 2026 12:41:38 +0200 Subject: [PATCH] fix(ci): give mutation testing time for a run without its cache GitHub evicts a cache nobody has read for a week. After a quiet week the Stryker incremental file is gone, the next run mutates the whole package, and core's 6,300 mutants need about 45 minutes on a four-core runner: the Renovate pull request hit the 30-minute limit at 62%, and create-bounda's cold run finished with two minutes to spare. --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29f47e36..b423bd20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -123,12 +123,15 @@ jobs: if: ${{ !cancelled() && steps.build.outcome == 'success' }} run: pnpm --filter create-bounda exec vitest run --exclude src/run.e2e.test.ts + # The timeout fits a full run, not just an incremental one: GitHub evicts a cache nobody has + # read for a week, so the first run after a quiet week mutates the whole package, and core + # alone then takes about three quarters of an hour. mutation: name: Mutation (${{ matrix.package }}) needs: [changes, check] if: needs.changes.outputs.packages != '[]' runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 60 strategy: fail-fast: false matrix: