Fixes for the nightly mutation build (v1.29.1) #94

Merged
mi merged 4 commits from mihoe/mutation-fix into main 2026-10-03 14:13:06 +02:00
Owner

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

## 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)
mi added 1 commit 2026-10-03 12:11:12 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi added 1 commit 2026-10-03 12:40:18 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi marked the pull request as ready for review 2026-10-03 12:51:15 +02:00
mi added 1 commit 2026-10-03 12:51:15 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi changed title from Fixes for the nightly mutation build (v1.28.1) to Fixes for the nightly mutation build (v1.29.1) 2026-10-03 13:36:25 +02:00
mi added 1 commit 2026-10-03 13:36:26 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi merged commit 87775359cf into main 2026-10-03 14:13:06 +02:00
mi deleted branch mihoe/mutation-fix 2026-10-03 14:13:06 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mi/werkator#94