Repository navigation
ci: fix mutants job cycle and harden mutants-baseline-diff - #726
Closed
Hero-Gamer wants to merge 14 commits into
Closed
Hero-Gamer wants to merge 14 commits into
Hero-Gamer wants to merge 14 commits into
Conversation
52a260e master: 25233 total mutants. 1.3 gate: - docs/mutants/survivors-baseline.list starts empty, weekly will fill - scripts/mutants-diff.py merges 4 shards mutants.out and diffs vs baseline - before reardencode#679 in-diff was continue-on-error no comment, after 1.3 it posts comment and fails on new survivors. Per reardencode#688, docs+YAML only.
…s, normalization
- download-artifact path: mutants-shards + merge-multiple: false
prevents last-shard-wins false negative (L2)
- needs: [fmt, clippy, test, mutants] ensures shards finish before diff (L3)
- permissions: issues+PR write for comment bot (L5)
- script: is_file + target filter + resolve dedup + normalize ./crates
+ fail if 0 artifacts found
- addresses reardencode#724 scratch reuse lesson and reardencode#688 waiver spec
- single job, needs [fmt, clippy, test, mutants]
- path: mutants-shards, merge-multiple: false -> shards:4 not 1
- no ${body} backtick template, uses msg concat
- fixes line 421 Invalid workflow file
…le missing dir, CodeQL safe
- Only the 'new survivors vs baseline' path → exit 0 - Actual error conditions (missing files/data) still fail as before - ::error:: → ::notice::; clearly states non-blocking - Aligns with nightly mutants model, no PR gating
Contributor
Author
|
Updated — aligned fully with #739:
|
Contributor
|
Thanks for putting this together and for working through the CI edge cases. We are going to use the overnight mutants runs to surface survivors and drive improvements over time, rather than maintain a checked-in survivor baseline or an advisory diff job, so I am closing this PR for now. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update spec 2026-09-24 3.35PM ET
Aligned with #739 — Advisory Only ✅
mutants-baseline-diff= reports, never blocks → exits 0 on new survivorsmutants.yml; PR defense → ast-grep (lint: weak asserts outside test files, and a waiver date token #687)Follow up from #688 item 1.3
What
ci.ymlfromupstream/masterto fix 9xExpected — Waiting for status to be reported.qc,test,coverage,macos,windows,mutants (1/4),mutants (2/4),mutants (3/4),mutants (4/4).mutantsjob remains:0/4..3/4, namemutants (n/4)needs: [qc, test](overlaps coverage, does not wait for macos/windows)mutants (1/4)runs--shard 0/1, others exit 0mutants.outartifactmutants-baseline-diffjob +scripts/mutants-diff.py+docs/mutants/survivors-baseline.list, this PR keeps them:mutants-baseline-diffneeds[mutants],if: github.event_name == 'pull_request'permissions: contents: read, issues: write, pull-requests: writeactions/download-artifact@v4withpattern: mutants-out-*scripts/mutants-diff.pyhandles first-run empty baseline, ignores#comments, deduplicates shards, skipstarget/Why
Previous 13 commits deleted
qcand introducedneeds: [mutants]self-cycle / invalid YAML, so no jobs started onlint/*branches. Every push showedFailure lint/mutants-baseline-diffwith no logs andExpected — Waitingforfmt, clippy, test, etc.Correct DAG is:
qc -> test -> mutants -> mutants-baseline-diff -> coverageVerification
Actions now: 11 successful, 3 in progress (coverage, mutants 4/4, codeql), 4 skipped (core-functional, nixos-module-runtime, overlay-functional, warnet-example - expected for ci.yml-only diff).
Notes
mutants.yml.