Skip to content

ci: nightly rivet-core mutation sweep as 64 shards that can finish - #1083

Merged
avrabe merged 2 commits into
mainfrom
ci/mutants-64-shards
Oct 15, 2026
Merged

avrabe merged 2 commits into
mainfrom
ci/mutants-64-shards

Conversation

@avrabe

@avrabe avrabe commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Implements your decision (A: more shards).

Problem. Every one of the 16 nightly mutants-core shards has been cancelled every night since at least 2026-10-02, with no completed shard:

value
mutants per 1/16 shard ~374 (5,974 total)
time per mutant at --jobs 2 ~30 s, plus a ~4.5 min baseline build
shard runtime ~3 h
timeout-minutes 45

The 2026-10-13 shard-13 log ends with The operation was canceled. mid-run. This also means #1031's "three shard-13 completions" could never be met as configured.

Change

  • 64 shards. cargo mutants -p rivet-core --list --shard N/64 gives 94 mutants each (52 in the last), about 50 minutes per shard, so timeout-minutes: 75.
  • One rust-cache key per crate, instead of one per shard (64 caches would churn the 10 GB repository cache quota).

Cost. Total compute is unchanged at roughly 48 runner-hours per night. On the 4 lean-mem runners that is about 12–13 h of wall clock, as before; the difference is that each shard can now finish and upload its report.

Note on the results these shards report. The MISSED results the shards produced before the timeout are real. I applied one (yaml_cst.rs:323) by hand and it passed all 1,412 --lib tests; #1082 adds the missing test (17 of 17 caught). So a full sweep is likely to surface more such gaps.

Checks: the workflow parses (64 rows, the last 63/64) and yamllint reports 0 errors. The job runs only on schedule or workflow_dispatch, so the evidence will be the next nightly or a manual dispatch.

🤖 Generated with Claude Code

https://claude.ai/code/session_015HMQUV3u86jN2hmCtXNTc9

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rivet Criterion Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 47c09ff Previous: 81dfc30 Ratio
link_graph_build/10000 38016079 ns/iter (± 4031494) 26231708 ns/iter (± 5941814) 1.45
diff/10000 6149485 ns/iter (± 794680) 4392793 ns/iter (± 26621) 1.40

This comment was automatically generated by workflow using github-action-benchmark.

@codecov

codecov Bot commented Oct 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

avrabe and others added 2 commits October 15, 2026 21:21
…finish

At 16 shards each held ~374 mutants, about three hours at --jobs 2, against
timeout-minutes: 45: every shard was cancelled every night, and no shard
completed from at least 2026-10-02 to 2026-10-13 (the 2026-10-13 shard 13
log ends at the timeout mid-run). Maintainer decision: more shards. 64
shards hold 94 mutants each (52 in the last; 5,974 in all, from
`cargo mutants --list --shard N/64`), about 50 minutes with the baseline
build, so the timeout is 75 minutes. Total compute is unchanged.

The rust-cache key is shared across shards; 64 per-shard caches would churn
the repository's cache quota.

Refs: REQ-288

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015HMQUV3u86jN2hmCtXNTc9
rivet-yaml owns the YAML parser and emitter since REQ-346, but no nightly
shard covered it and the PR-diff job cannot judge it (moved cst.rs counts
as all-new). cargo mutants --list reports 1564 mutants; 16 shards give
about 98 each, matching the rivet-core 64-shard sizing.

Refs: REQ-346

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015HMQUV3u86jN2hmCtXNTc9
@avrabe
avrabe force-pushed the ci/mutants-64-shards branch from f8bdb7f to 93f2e4c Compare October 15, 2026 19:21
@avrabe
avrabe merged commit 555bd59 into main Oct 15, 2026
33 checks passed
@avrabe
avrabe deleted the ci/mutants-64-shards branch October 15, 2026 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant