Skip to content

fix(ci): give mutation testing time for a run without its cache - #208

Merged
benatespina merged 1 commit into
mainfrom
fix/mutation-timeout
Oct 24, 2026
Merged

benatespina merged 1 commit into
mainfrom
fix/mutation-timeout

Conversation

@benatespina

Copy link
Copy Markdown
Member

Summary

  • The mutation job's 30-minute limit only fits incremental runs. GitHub evicts a cache nobody has read for a week, so after a quiet week Stryker starts without incremental.json and mutates the whole package.
  • That is what cancelled Mutation (core) on chore(deps): update non-major dependencies #202: no stryker-core- cache since 10 October, 4,558 of 6,333 mutants tested at the limit. The dependency updates are not the cause: the dry run takes the same 18 seconds and mutants run at the same rate as in September and October.
  • create-bounda's cold run on the same pull request finished in 27m52s, two minutes from the limit.

Changes

  • timeout-minutes: 60 on the mutation job, with a comment saying why.

Key Features

  • A pull request that touches core after a quiet week no longer fails for lack of time. This one changes ci.yml, so it runs every package cold and proves the limit.

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.
@benatespina
benatespina merged commit eb69e5d into main Oct 24, 2026
11 checks passed
@benatespina
benatespina deleted the fix/mutation-timeout branch October 24, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant