Repository navigation
build: skip unchanged diff sidecar builds - #13212
Conversation
The phase already declares its Rust source inputs and generated binary output, so Xcode can avoid rerunning the release sidecar build for unrelated app edits. Prior-art: teamleaderleo/Glaeda and teamleaderleo/Tact
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 6 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
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 ✍️ ✅ |
|
|
Repaired the failed compile admission by integrating main at 692f2c0, including the CmuxFoundation import fix from #13236. The failed logs reported missing AgentPIDProcessIdentity in the process helpers; this was a shared base failure. Current head: fcb2436. Shell syntax and pbxproj parsing/normalization pass locally; the branch retains the reviewed sidecar stamp/input/output contract. The remaining PR diff preserves the original optimization scope. Fresh hosted static/web checks pass; native compile admission is running. No checks bypassed. |
e77a6b1 feat: add current-work reads and Find Work (manaflow-ai#13269) 6386ba5 Cache Ghostty CLI helper builds across local invocations (manaflow-ai#13206) 8f6c0ea ci: measure compiled test artifact transfer cost (manaflow-ai#13172) 55092b9 docs: add a concise guide for public CMUX writing (manaflow-ai#13257) 9e7d3be fix(web): preserve locale preference during prefetch (manaflow-ai#13255) b093335 build: skip unchanged diff sidecar builds (manaflow-ai#13212) b79d77d perf: skip unchanged bundled resource builds (manaflow-ai#13209) 4c19fcb feat: expose stable surface and workspace IDs in catalog reads (manaflow-ai#13247) 95fdfd7 ci: add safe stale run janitor (manaflow-ai#13143) 0bcf003 docs: make the contributor verification ladder explicit (manaflow-ai#13242)
Reviewer summary
Skips diff sidecar builds when the inputs are unchanged and keeps the normal rebuild path when they are not.
Checks
Remove the unconditional
alwaysOutOfDateoverride from the Diff Sidecar phase. Its Rust manifest, lockfile, toolchain file, production sources, and build/verification scripts are already declared as inputs, and the generated sidecar path is declared as an output. Unrelated Swift edits can therefore avoid rerunning the release Cargo build.This is based directly on current upstream
main; it does not copy the fork-only branch and does not claim an end-to-end speedup (see the measurement above).Build-setting contract
The phase declares an architecture/deployment-target keyed stamp and the script writes it only after the verified destination artifact is complete. Each executed Xcode phase retires stamps for other architecture/deployment configurations before producing the shared bundled binary, so only the stamp corresponding to that shared artifact survives. The Xcode phase explicitly pins
CMUX_DIFF_SIDECAR_ARCHSandCMUX_DIFF_SIDECAR_MIN_MACOSto the corresponding Xcode build settings before invoking the script. Direct script callers retain their override support.CMUX_DIFF_SIDECAR_MIN_MACOSand signing overrides remain script-level controls; changing them in a reused DerivedData path should be treated as invalidating the output and merits a follow-up keyed contract if those overrides become a supported Xcode configuration.Testing
bash -n scripts/build-diff-sidecar.sh./scripts/check-pbxproj.shgit diff --checkmain. Skip/rebuild behaviour was validated locally (see the note at the top) on the same build files as the current head; the current head differs from the measured commit only by a rebase over Add Copy Debug Information to iOS Settings #13007 (iOS-only). CI macOS validation remains pending behind the repository's fork-workflow approval gate.Summary by CodeRabbit
Replaces #12972 (same commits, head branch moved into the org so it gets the build cache and can be kept current with main).
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Removes the unconditional Diff Sidecar rebuild so unrelated app edits no longer rerun the release Cargo build when the Rust inputs are unchanged.
Build-setting contract
CMUX_DIFF_SIDECAR_ARCHSandCMUX_DIFF_SIDECAR_MIN_MACOSto the matching build settings and declares a keyed stamp output so Xcode can skip the phase when inputs are unchanged.CMUX_DIFF_SIDECAR_MIN_MACOSor signing overrides in a reused DerivedData path invalidates the output.Written for commit fcb2436. Summary will update on new commits.