ci: add weekly sharded cargo-mutants + in-diff PR gate (follows #593) - #609
Open
Hero-Gamer wants to merge 3 commits into
Open
Hero-Gamer wants to merge 3 commits into
Hero-Gamer wants to merge 3 commits into
Conversation
Exclude node/cli/bench binaries, start minimal like rust-bitcoin did.
Hero-Gamer
force-pushed
the
add-nightly-mutants-job
branch
from
September 18, 2026 00:06
024cb66 to
507fc6f
Compare
…@6c977a6c, install-action@82cd3e76
Hero-Gamer
force-pushed
the
add-nightly-mutants-job
branch
from
September 18, 2026 00:07
507fc6f to
6a491d7
Compare
Contributor
Author
|
I hope all addressed above. If you want to change to other frequency just lmk. I think my bot was just worried about the cost so it is set to weekly. |
reardencode
pushed a commit
that referenced
this pull request
Sep 18, 2026
CodeQL unpinned-tag flagged 5 jobs in ci.yml (fmt, clippy, test, etc) and 1 in codeql.yml. Pin to same SHA already used in ci.yml:161,181 / macos.yml / windows.yml / release.yml (a5f673d0ba8626c3977bb416a1612774bc82181b = toolchain: 1.95.0). Keep toolchain: 1.95.0 explicit, co-bumped with Cargo.toml / rust-toolchain.toml / nixpkgs 26.05 / crane 0.23. This closes last unpinned-tag alerts after #609.
reardencode
reviewed
Sep 18, 2026
| with: { toolchain: '1.95' } | ||
| - uses: taiki-e/install-action@82cd3e7658a6f96c86c0234aeeda1748937cb0a1 # v2.86.7 | ||
| with: { tool: cargo-mutants } | ||
| - run: cargo mutants --in-diff origin/${{ github.base_ref }} -- --skip core --exclude-re '^(rbitcoin-node|rbitcoin-cli|bench)' -j 2 |
| contents: read | ||
| jobs: | ||
| mutants-diff: | ||
| if: github.event_name == 'pull_request' |
Owner
There was a problem hiding this comment.
how long is the execution time on a PR?
| name: mutants | ||
| on: | ||
| schedule: | ||
| - cron: '0 3 * * 0' |
Owner
There was a problem hiding this comment.
our other long jobs run daily - how long is this weekly job expected to run?
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.
Follows up #593 as requested.
Implements nightly mutants job modeled on fuzz.yml (matrix + artifact pattern) and core-functional.yml (cron + workflow_dispatch + warn-not-fail):
Local check: cargo mutants --list works, --in-diff --list works.
Set full sweep to weekly instead of nightly — happy to switch to nightly if you prefer.
fuzz.yml/core-functional.ymlare nightly because they're ~50min and ~20min.cargo mutantsis ~500-1000cargo testruns — even sharded 8x it's ~60-120min per shard.Upstream
rust-bitcoindoes the same and calls itcron-weekly-cargo-mutants.ymlfor that reason.PR job (
--in-diff) still gives fast feedback on every PR, which catches cases like #593.If you want true nightly, I can change cron to
17 7 * * *(same as fuzz). Just say the word.