Repository navigation
build(setup): preflight Metal before setup mutations - #12352
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe setup documentation now covers Rust, Metal, and GhosttyKit requirements. The setup script validates the Metal compiler and provides expanded Rust installation guidance. ChangesToolchain setup
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to No confirmed merge-blocking risk remains in the toolchain setup changes. 🚥 Pre-merge checks | ✅ 25✅ Passed checks (25 passed)
✨ 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 |
76050fd to
b686b38
Compare
394f1aa Fix Cloud VM agent completion notifications 50db7e1 Verify signed Codex owners before account changes (manaflow-ai#12457) 8700f05 Fix Cmd+Shift+R Cloud group rename propagation (manaflow-ai#12410) 2c93d4a iOS 18 compatibility and terminal E2E coverage d32e508 Keep coderouter credentials separate by user and workspace (manaflow-ai#12446) 3799fa9 build(setup): preflight Metal before setup mutations (manaflow-ai#12352) bf8a24f Add starred default cloud workspace shortcuts (manaflow-ai#12305)
Contributor setup can fail late because Metal and Rust prerequisites are missing. This follow-up to #12107 carries forward SangHun Lee (@nrhys2005)'s prerequisite documentation, corrected Homebrew rustup guidance, and Metal probe, preserving both original commits and authorship.
The Metal probe now runs before submodule initialization and Rust installation. Its recovery instructions explain that an exported DEVELOPER_DIR overrides the system selection, and limit component-download guidance to Xcode 26+. The existing xcode-select diagnostic is retained: the review finding claiming it ignores DEVELOPER_DIR was withdrawn. Current main's Xcode 26 / Intel Xcode 16.2 guidance is preserved.
Validation performed on Linux:
bash -n scripts/setup.shpassed.git diff --checkpassed.python3 scripts/swift_file_length_budget.pypassed (0 changed Swift files).Builds were not run. No compilation, xcodebuild, reload, local/remote/cloud builds, app launches, or dogfood was performed. Stub checks establish shell control flow only; actual Apple toolchain behavior and end-to-end macOS setup remain unverified for this follow-up.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Note
Low Risk
Developer-only setup script and documentation changes; no app runtime, auth, or production build pipeline behavior is altered.
Overview
Setup now fails fast on a missing Metal compiler before submodules, Rust installs, or other setup side effects.
scripts/setup.shrunsxcrun metal --versionup front and prints targeted recovery steps (MetalToolchain download on Xcode 26+, switching off Command Line Tools, andDEVELOPER_DIRoverridingxcode-select).Contributor docs and Rust/cargo errors are tightened in
CONTRIBUTING.mdandsetup.sh: Rust/rustup and Xcode 26 Metal prerequisites are documented; setup steps now mention the pinned Rust toolchain and checksum-pinned GhosttyKit with a source-build override; Homebrewrustupguidance replaces the outdatedrustup-inithint whencargois missing.Reviewed by Cursor Bugbot for commit 76050fd. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Carries forward the Metal toolchain preflight and prerequisite documentation from #12107 so setup fails early with clear recovery steps instead of failing during builds.
xcrun metalbefore any submodule init or Rust install.DEVELOPER_DIRoverridesxcode-select.CONTRIBUTING.md, including corrected Homebrewrustupguidance (keg-only, norustup-init).CMUX_GHOSTTYKIT_NO_PREBUILT=1).Written for commit b686b38. Summary will update on new commits.
Summary by CodeRabbit
Documentation
Bug Fixes