Repository navigation
ci: reuse the headless cmux-tui build in SDK conformance - #14108
Conversation
The seven-language conformance job spends about 5 of its 7 minutes compiling cmux-tui from scratch, including on runs where nothing under cmux-tui changed: any edit to one of the ~25 workflows in the path filter starts it. The build reads only the cmux-tui tree, the ghostty submodule and the pinned zig and Rust toolchains, so key the binary on exactly those and skip the compile on a hit. Pull requests only restore; pushes to main save. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe conformance job now caches the compiled headless ChangesHeadless Build Cache
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~8 minutes Change: Refactor Merge Risk: ⚪ Minimal · up to The cache can reuse the binary across commits without affecting the conformance behavior checked by this job. No merge-blocking issue remains. 🚥 Pre-merge checks | ✅ 25✅ Passed checks (25 passed)
✨ 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 |
5b646b7 ci: apply the queue janitor threshold per runner pool (manaflow-ai#14131) d49a1b1 ci: reuse the headless cmux-tui build in SDK conformance (manaflow-ai#14108) ba85a1b ci: key reload-build caches on the commit and fall back across branches (manaflow-ai#14099) 27fb3bf ci: hand focused test-macos-suite dispatches to run-e2e.sh (manaflow-ai#14075) d18c1b9 ci: let a failed compile admission mark a run doomed for the queue janitor (manaflow-ai#14129) dfdce2c ci: bind pull request product reuse to the merge it compiled (manaflow-ai#14080) afacff3 ci: sparse-checkout the Claude wrapper regression job (manaflow-ai#14088) 35a6bb1 ci: stop pinning remote-daemon macOS tests to the macOS 26 pool (manaflow-ai#14128) 1ba6d77 ci: run macOS jobs on GitHub-hosted runners alongside Blacksmith (manaflow-ai#14097) 587de87 Import CmuxWorkspaces where CodexTurnRestoreIntentPolicy names its liveness type (manaflow-ai#14123) # Conflicts: # .github/workflows/ci-guards.yml # .github/workflows/ci-macos.yml # .github/workflows/ci-queue-janitor.yml # .github/workflows/ci.yml # .github/workflows/cmux-tui-sdks.yml # .github/workflows/reload-build.yml # .github/workflows/remote-daemon.yml # .github/workflows/test-macos-suite.yml
Problem
seven-language live conformanceincmux-tui-sdks.ymltakes about 7 minutes. About 5 of those go to "Build exact headless cmux-tui", which compiles cmux-tui from scratch every time. On the revert in #14106 the build started at 02:19:39 and finished at 02:24:35. The tests themselves took 66 s.That run changed nothing under
cmux-tui/. It started only because the workflow'spushpath filter lists about 25 workflow files, and #14101 and its revert each edited one comment line incmux-tui-artifacts.yml.Resulting behavior
The job keys the built binary on exactly what the build reads:
cmux-tui/ghosttysubmodule commitThe Rust toolchain is pinned inside the tree by
rust-toolchain.toml. When the key hits, the compile is skipped and the job goes straight to the conformance run. Pull requests only restore. Pushes to main save, which matchestests/test_ci_pull_request_caches_are_read_only.py.Keying on the tree hash is conservative: an edit anywhere under
cmux-tui/, bindings included, misses and compiles as it does today.Testing
cmux-tui-sdks.yml.tests/test_tui_publish_workflow_security.pyandtests/test_ci_pull_request_caches_are_read_only.pypass.— Camera g1 🛠️
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Caches the headless cmux-tui build in the SDK conformance job so unchanged trees skip the ~5-minute compile.
cmux-tui/tree hash plus theghosttysubmodule commit, the pinned zig and Rust toolchains, and the runner OS and arch; any edit undercmux-tui/misses and compiles as today.Written for commit 3a382ca. Summary will update on new commits.
Summary by CodeRabbit