Repository navigation
ci: classify mux/ as macOS-neutral so mux-only PRs pass the routing guard - #7622
Conversation
The change-area detector treats any path not explicitly macos-neutral as a macOS change, so mux-only PRs resolved macos=true. Combined with the new linux-preflight staging (#7583), that made the required app-host Swift tests skip while the routing guard required them, failing 'tests' and 'ci-status' on every mux-only PR (e.g. #7609). cmux-mux is a standalone Rust project gated by its own 'mux' workflow and never affects the macOS app build or app-host tests, so 'mux/' belongs in is_macos_neutral. Adds test_mux_only_skips_macos.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 7 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR updates CI routing for mux-only changes. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (1): Last reviewed commit: "ci: classify mux/ as macOS-neutral so mu..." | Re-trigger Greptile |
Problem
Every mux-only PR fails the
testsandci-statusrouting checks (e.g. #7609), while themuxworkflow itself passes. The guard reportsapp-host unit tests were required but did not pass: skipped.Root cause:
scripts/ci/detect_ci_change_areas.py'sis_macos_changeis a catch-all — any path not explicitly inis_macos_neutralcounts as a macOS change.mux/isn't listed, so mux-only PRs resolvemacos=true. After #7583 staged the macOS app-host shards behind the linux preflight, those shards reportskippedwhilechanges.macos=true, and the aggregator guard (if macos == "true" and tests["result"] != "success") fails.Fix
cmux-muxis a standalone Rust project gated by its ownmuxworkflow; it never affects the macOS app build or app-host tests. Addmux/tois_macos_neutralso mux-only PRs resolvemacos=false, the app-host job skips legitimately, and the guard'smacos != "true"branch accepts the skip.Verified:
Resolved areas: macos=falsefor a mux-only file set; all 36 detector tests pass including the newtest_mux_only_skips_macos.🤖 Generated with Claude Code
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.Note
Low Risk
CI routing-only change with a focused unit test; no runtime app or mux build behavior changes.
Overview
Fixes mux-only PRs failing
tests/ci-statuswhen macOS app-host shards are legitimately skipped. Paths undermux/were treated as macOS changes because they were not in the neutral prefix list, sochanges.macos=trueconflicted with skipped app-host jobs after the linux preflight gate.is_macos_neutralindetect_ci_change_areas.pynow includesmux/, matching the standalone cmux-mux Rust tree covered by the separatemuxworkflow. Mux-only diffs resolvemacos=false(and not web/go) so guards accept skipped macOS jobs.Adds
test_mux_only_skips_macosto lock in classification for typical mux paths.Reviewed by Cursor Bugbot for commit ce33f77. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Classify
mux/as macOS-neutral in the CI change detector so mux-only PRs correctly skip macOS app-host tests and pass the routing guard.mux/inis_macos_neutral()to avoid falsemacos=true.test_mux_only_skips_macosto lock the behavior.muxworkflow;tests/ci-statusno longer fail due to skipped app-host shards.Written for commit ce33f77. Summary will update on new commits.