Skip to content

Shorten macOS CI with four test shards - #571

Merged
JacobStephens2 merged 2 commits into
mainfrom
issue-570
Oct 8, 2026
Merged

JacobStephens2 merged 2 commits into
mainfrom
issue-570

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Summary

Split the macOS suite across four runners, retaining the stable test-macos check and requiring every shard to succeed.

CI
  test                      cargo fmt, clippy, cargo test on Ubuntu
  test-macos-shard (1–4)     macos-26, nextest hash:i/4
    test-macos              succeeds only when all four shards pass

Closes #570

Evidence

  • Before: CI on the exact base commit reached the macOS result in 41m 44s.
    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.
  • Compared every passing (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.
  • All CI and release build checks passed. Local cargo fmt --check, cargo check --all-targets, cargo clippy --all-targets -- -D warnings, and cargo test --test toolchain passed. Full local cargo test passed: 1516 passed, 0 failed, 1 ignored across 39 test binaries.
  • actionlint .github/workflows/ci.yml passed. The final gate's actual shell command accepted success and rejected failure, 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

  • Standards: none; 0 findings.
  • Spec: none; 0 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

@JacobStephens2
JacobStephens2 marked this pull request as ready for review October 8, 2026 12:52
@JacobStephens2
JacobStephens2 merged commit ace41a0 into main Oct 8, 2026
17 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-570 branch October 8, 2026 13:08
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 8, 2026
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.

shorten test-macos ci check

1 participant