Repository navigation
Shorten macOS CI with four test shards - #571
Merged
Merged
Conversation
JacobStephens2
marked this pull request as ready for review
October 8, 2026 12:52
Merged
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.
Summary
Split the macOS suite across four runners, retaining the stable
test-macoscheck and requiring every shard to succeed.Closes #570
Evidence
After: This PR's CI reached the final macOS result in 19m 25s, 53.5% shorter. Both times run from CI creation through completion of
test-macos; the new time includes one shard waiting over ten minutes for a runner.(binary, test)pair in the base log with all four shard logs: the same 1,462 macOS tests passed exactly once, with no missing or duplicate tests. The longest shard's test execution was 12m 36s, versus 40m 29s unsharded.cargo fmt --check,cargo check --all-targets,cargo clippy --all-targets -- -D warnings, andcargo test --test toolchainpassed. Full localcargo testpassed: 1516 passed, 0 failed, 1 ignored across 39 test binaries.actionlint .github/workflows/ci.ymlpassed. The final gate's actual shell command acceptedsuccessand rejectedfailure,cancelled,skipped, and empty results.cargo nextest list --message-format json, with the workflow's four partitions, selected all 1,516 runnable Linux tests exactly once.Test seams: nextest's selected test lists and shard commands; the workflow's final status command; the existing Rust suite.
Merge Danger
Door: two-way
Reverting the workflow returns to one macOS runner.
Blast Radius: CI
Four macOS runners replace one, with additional per-run setup and builds. Only shard 1 writes the shared cache. The final check adds an Ubuntu job after the shards finish.
Unaddressed findings
Unread changed files: none on either axis. Both reviewers read the only changed file,
.github/workflows/ci.yml.Built with codex · gpt-6.1-sol · xhigh