Repository navigation
ci: call a missing pinned Xcode a machine failure - #15598
Conversation
scripts/select-ci-xcode.sh now prints one ::error:: carrying the runner name, the installed Xcodes and a [cmux-ci machine: xcode-pin-missing] marker when the job's pinned Xcode (or the pool pin) is not on the Mac. classify_failures.py and machine_failure.py read it (and the pre-marker text an older head prints) as MACHINE, so failure attribution re-runs the failed jobs as github-actions[bot], onto Blacksmith, whose images carry the pins. Incident: run 36553044270, swift-package-tests on cmux14 failed at Select Xcode with /Applications/Xcode_26.3.app missing, classified unknown. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (12)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
|
All contributors have signed the CLA ✍️ ✅ |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Merge receipt for |
Dogfood tours of
|




A mini without the pinned Xcode could take a CI job, fail at
Select Xcode, and leave the failure unattributed. CI now identifies that case as a machine failure and requeues an owned runner's failed job at the earliest point GitHub permits. Operators can check every pin on each mini with the new audit; the HQ fleet command is in cmuxterm-hq#984.The selector emits one error with the runner name, installed Xcodes, and
xcode-pin-missing. Both failure classifiers recognize that marker and the older messages from pre-fix PR heads. The owned pool rescue treats failedSelect XcodeandSelect helper Xcodesteps as refusals even after a helper build or a long job. The audit checks pool versions fromxcode-pins.txtand every configuredCMUX_CI_XCODE_APP_*path againstxcodebuild -version.Validation: the new rescue regression failed before the fix and passes after it. Focused classifier, rescue, selection, and audit tests pass;
python3 scripts/verify-local.py --allpassed all 15 selected checks. The test execution registry now runs the audit test in the Linux guard lane. A live audit through the HQ branch reached all 15 minis: 13 pass; cmux15 and cmux-mac-mini still lack Xcode 26.3 while the fleet copy is in progress. This machine installation is tracked outside this PR.