Fix the Iroh branch Rust formatter gate - #9952
lawrencecchen wants to merge 25 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4babe08. Configure here.
| name: build x86_64-pc-windows-gnu | ||
| if: inputs.include_windows | ||
| runs-on: ${{ vars.WINDOWS_RUNNER || 'windows-latest' }} | ||
| runs-on: ${{ inputs.windows_runner != '' && inputs.windows_runner || vars.WINDOWS_RUNNER || 'windows-latest' }} |
There was a problem hiding this comment.
Experimental Windows blocks package publishes
Medium Severity
build-windows still describes an experimental artifact, but this change drops continue-on-error. Callers such as nightly and release set include_windows: true and treat the reusable workflow result as a publish gate, so a Windows GNU flake or failure now fails the whole package workflow and blocks npm/PyPI publishing.
Reviewed by Cursor Bugbot for commit 4babe08. Configure here.
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. |
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. |


Formats four inherited Rust files with the pinned cmux-tui toolchain so the exact-head hosted gate can reach the Iroh tests. Retains the already merged PR 9837 hosted verification files as a separate infrastructure commit.
Verification: hosted exact-head gate pending. No local Cargo commands were run.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Note
Medium Risk
Changes are mostly CI and developer workflow; risk is moderate due to workflow complexity and the exact-commit dispatch contract, not runtime product logic.
Overview
This PR unblocks the Iroh formatter gate and lands the hosted cmux-tui verification stack on top of it.
Rust formatting (gate fix): Several inherited cmux-remote / cmux-remote-mobile files are reformatted with the pinned toolchain. A
cfg(test)buffered_statehelper on message streams replaces direct lock access in mux tests.Single toolchain source:
cmux-tui/rust-toolchain.toml(1.95.0 + clippy/rustfmt) and a compositesetup-cmux-tui-rustaction install that toolchain in workflows instead of ad hocrustupversions.Hosted verification entry point:
scripts/verify-cmux-tui-hosted.shrequires a clean, pushed HEAD, dispatchescmux-tui.ymlwithcommit,mode(focused/full), optionaltest_filter, andrequest_id, waits for the run, prints failures, and downloads the macOS arm64 binary tocmux-tui/target/hosted/<commit>/.AGENTS.mddocuments that local Cargo on Lawrence's Mac is not used for verification.cmux-tui.yml: Manual-onlyworkflow_dispatchwith input validation (SHA must match workflow revision). Full mode adds web frontend, sharded Valgrind, clippy, isolated cmux-tui-core tests viarun-cmux-tui-core-tests-isolated.py**, binding e2e, and a called **cmux-tui-build-package** job; **focused** mode runs filtered workspace tests on Linux and macOS plus a slimmer artifact build (**macos-arm64** only). Concurrency is per **request_id` so parallel commits do not cancel each other.Packaging workflow:
cmux-tui-build-package.ymladdsplan-build(dynamic target matrix,target_set, runner overrides), Ghostty Zig version fromscripts/ghostty-zig-version.sh, macOS cross-builds via nativecargo build(notcargo-zigbuild), optional Cloudflare relay, and native Linux arm64 package verification instead of QEMU.SDK CI: New
cmux-tui-sdks.ymlruns protocol/SDK contract checks, per-language package and consumer matrices, and seven-language live conformance against a headless cmux-tui build.Reviewed by Cursor Bugbot for commit 1e2d4b2. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Restores the exact-commit hosted
cmux-tuigate and fixes the Iroh Rust formatter gate. Uses one pinned Rust toolchain across all jobs, completes hosted coverage (sharded Valgrind with rustls-scopedringsuppressions and a memory‑instrumented transport workload, isolated core tests incl. ignored), and aligns packaging; no runtime changes.New Features
cmux-tui.ymlvalidates an exactcommit, supportsfocused/full, runs filtered workspace tests in focused mode (executes ignored), isolatescmux-tui-coretests (also runs ignored), shards Valgrind with a final aggregator and memory-instrumented transport checks, runs Ghostty VT replay and bindings e2e, and builds dogfood artifacts (focused:macos-arm64; full: all targets). Concurrency is perrequest_id. Workflow helpers (composite action + scripts) are checked out at the workflow SHA to stay consistent when building another ref.cmux-tui/rust-toolchain.tomland reusablesetup-cmux-tui-rust;scripts/verify-cmux-tui-hosted.shdispatches, enforces pushed exact-commit verification, streams failures, and downloads the macOS arm64 binary. Docs:cmux-tui/AGENTS.md,cmux-tui/CLAUDE.md.Refactors
target_set) with runner overrides; macOS cross via Xcode, Linux cross viacargo-zigbuild, native Linux arm64 package verification, Ghostty Zig version auto-resolved, and Cloudflare DO relay built under the same pinned toolchain (wasm32-unknown-unknown). Rust code: applied pinnedrustfmt; added#[cfg(test)]MessageStream::buffered_state()and updated tests; scoped service test imports.Written for commit d540ea6. Summary will update on new commits.