ci: mutation testing is local only (D-59); the weekly run keeps proofs, oracle and fuzz

The owner, 2026-10-29: mutation testing is for local runs, not CI. The
weekly workflow's mutation shards (core, store, import, config, MCP) are
removed; they failed every week on the survivors and timeouts D-33
deferred to P12, and their red hid the run's real findings (a
fuzz_store_replay crash and a fuzz_settings_replay build break, both
being fixed). just mutants-* stays for the desktop; P12 runs the pass
whole. Recorded as D-59; the docs that said the shards keep running are
corrected.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
This commit is contained in:
swaitsandClaude Fable 5.1 committed 2026-10-29 01:28:50 -06:00
1 parent 79fb7ff2fd
commit fc7ba81f12
5 files changed
+11 -86

No files matched your search

+4 -81
View File
@@ -1,8 +1,7 @@
# Weekly, and on demand: the slow layers (docs/testing.md).
#
# Mutation testing is split into shards (`just mutants-* k/n`), each its
# own job, so every job ends well inside GitHub's six hours. The viewer has
# no mutation job (owner, 2026-10-18).
# Weekly, and on demand: the slow layers (docs/testing.md): the proofs,
# the GnuCash oracle and the fuzz targets. Mutation testing is not run in
# CI (owner, 2026-10-29, D-59): it is a local run (`just mutants-*`), and
# P12 runs it whole on the owner's desktop.
name: scheduled
on:
schedule:
@@ -39,79 +38,3 @@ jobs:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- run: just fuzz ${{ matrix.target }} 600
mutants:
runs-on: ubuntu-24.04
timeout-minutes: 350
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3, 4, 5, 6, 7]
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- run: just mutants ${{ matrix.shard }}/8
- if: always()
uses: actions/upload-artifact@v4
with:
name: mutants-core-${{ matrix.shard }}
path: mutants.out
mutants-store:
runs-on: ubuntu-24.04
timeout-minutes: 350
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3]
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- run: just mutants-store ${{ matrix.shard }}/4
- if: always()
uses: actions/upload-artifact@v4
with:
name: mutants-store-${{ matrix.shard }}
path: mutants-store/mutants.out
mutants-import:
runs-on: ubuntu-24.04
timeout-minutes: 350
strategy:
fail-fast: false
matrix:
shard: [0, 1]
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- run: just mutants-import ${{ matrix.shard }}/2
- if: always()
uses: actions/upload-artifact@v4
with:
name: mutants-import-${{ matrix.shard }}
path: mutants-import/mutants.out
mutants-config:
runs-on: ubuntu-24.04
timeout-minutes: 350
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- run: just mutants-config
- if: always()
uses: actions/upload-artifact@v4
with:
name: mutants-config
path: mutants-config/mutants.out
mutants-mcp:
runs-on: ubuntu-24.04
timeout-minutes: 350
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- run: just mutants-mcp ${{ matrix.shard }}/16
- if: always()
uses: actions/upload-artifact@v4
with:
name: mutants-mcp-${{ matrix.shard }}
path: mutants-mcp/mutants.out