The first run of the build mutation (PR#93) on mih09, right after the merge on 2026-10-03, failed twice:
PIT stopped in its coverage run: BuildExecutorIntegrationTest did not pass without mutation, although the normal test build on mih09 and PIT locally pass it.
The deploy of v1.28.0, queued behind it, found no runtime bundle: mutation runs in main's worktree, and its cleanCommand: rm -rf build deleted the bundle the test build had left there.
The run started at once instead of at 02:00, because the definition was new and the day's slot was due.
The Solution
mutation cleans only build/reports/pitest and build/reports/codecharta; PIT recompiles what changed, and the runtime bundle stays for the deploy.
mutation runs at 00:00 UTC instead of 02:00: 01:00 or 02:00 in Germany, depending on daylight saving time, which UTC does not have; later nightly builds of other repositories follow it on mih09.
BuildExecutorIntegrationTest no longer runs under PIT.
Two probe builds on this branch, with PIT's verbose output, could not reproduce the failure: the spec passed alone and with every other spec.
It is most likely a timing-dependent case; the best guess is Scenario#67.04, where true must use no measurable processor time, which one clock tick under PIT's instrumentation breaks.
One failing spec in the coverage run aborts the whole night, and the spec costs 24-29 s per covering mutant. BuildExecutor shows mostly uncovered until its logic moves into unit tests.
Follow-up PRs
BuildExecutor: its decisions into small classes with unit tests (already planned in PR#93).
Make the timing-dependent cases of BuildExecutorIntegrationTest robust, starting with Scenario#67.04.
## The Problem
The first run of the build `mutation` (PR#93) on mih09, right after the merge on 2026-10-03, failed twice:
- PIT stopped in its coverage run: `BuildExecutorIntegrationTest` did not pass without mutation, although the normal test build on mih09 and PIT locally pass it.
- The deploy of v1.28.0, queued behind it, found no runtime bundle: `mutation` runs in `main`'s worktree, and its `cleanCommand: rm -rf build` deleted the bundle the test build had left there.
The run started at once instead of at 02:00, because the definition was new and the day's slot was due.
## The Solution
- `mutation` cleans only `build/reports/pitest` and `build/reports/codecharta`; PIT recompiles what changed, and the runtime bundle stays for the deploy.
- `mutation` runs at 00:00 UTC instead of 02:00: 01:00 or 02:00 in Germany, depending on daylight saving time, which UTC does not have; later nightly builds of other repositories follow it on mih09.
- `BuildExecutorIntegrationTest` no longer runs under PIT.
Two probe builds on this branch, with PIT's verbose output, could not reproduce the failure: the spec passed alone and with every other spec.
It is most likely a timing-dependent case; the best guess is Scenario#67.04, where `true` must use no measurable processor time, which one clock tick under PIT's instrumentation breaks.
One failing spec in the coverage run aborts the whole night, and the spec costs 24-29 s per covering mutant.
`BuildExecutor` shows mostly uncovered until its logic moves into unit tests.
## Follow-up PRs
- `BuildExecutor`: its decisions into small classes with unit tests (already planned in PR#93).
- Make the timing-dependent cases of `BuildExecutorIntegrationTest` robust, starting with Scenario#67.04.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The Problem
The first run of the build
mutation(PR#93) on mih09, right after the merge on 2026-10-03, failed twice:BuildExecutorIntegrationTestdid not pass without mutation, although the normal test build on mih09 and PIT locally pass it.mutationruns inmain's worktree, and itscleanCommand: rm -rf builddeleted the bundle the test build had left there.The run started at once instead of at 02:00, because the definition was new and the day's slot was due.
The Solution
mutationcleans onlybuild/reports/pitestandbuild/reports/codecharta; PIT recompiles what changed, and the runtime bundle stays for the deploy.mutationruns at 00:00 UTC instead of 02:00: 01:00 or 02:00 in Germany, depending on daylight saving time, which UTC does not have; later nightly builds of other repositories follow it on mih09.BuildExecutorIntegrationTestno longer runs under PIT.Two probe builds on this branch, with PIT's verbose output, could not reproduce the failure: the spec passed alone and with every other spec.
It is most likely a timing-dependent case; the best guess is Scenario#67.04, where
truemust use no measurable processor time, which one clock tick under PIT's instrumentation breaks.One failing spec in the coverage run aborts the whole night, and the spec costs 24-29 s per covering mutant.
BuildExecutorshows mostly uncovered until its logic moves into unit tests.Follow-up PRs
BuildExecutor: its decisions into small classes with unit tests (already planned in PR#93).BuildExecutorIntegrationTestrobust, starting with Scenario#67.04.🤖 Generated with Claude Code
Fixes for the nightly mutation build (v1.28.1)to Fixes for the nightly mutation build (v1.29.1)