Skip to content

Fix the Iroh branch Rust formatter gate - #9952

Closed
lawrencecchen wants to merge 25 commits into
feat-tui-iroh-iosfrom
fix-iroh-rustfmt-gate
Closed

lawrencecchen wants to merge 25 commits into
feat-tui-iroh-iosfrom
fix-iroh-rustfmt-gate

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

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.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with 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_state helper 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 composite setup-cmux-tui-rust action install that toolchain in workflows instead of ad hoc rustup versions.

Hosted verification entry point: scripts/verify-cmux-tui-hosted.sh requires a clean, pushed HEAD, dispatches cmux-tui.yml with commit, mode (focused / full), optional test_filter, and request_id, waits for the run, prints failures, and downloads the macOS arm64 binary to cmux-tui/target/hosted/<commit>/. AGENTS.md documents that local Cargo on Lawrence's Mac is not used for verification.

cmux-tui.yml: Manual-only workflow_dispatch with input validation (SHA must match workflow revision). Full mode adds web frontend, sharded Valgrind, clippy, isolated cmux-tui-core tests via run-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.yml adds plan-build (dynamic target matrix, target_set, runner overrides), Ghostty Zig version from scripts/ghostty-zig-version.sh, macOS cross-builds via native cargo build (not cargo-zigbuild), optional Cloudflare relay, and native Linux arm64 package verification instead of QEMU.

SDK CI: New cmux-tui-sdks.yml runs 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-tui gate and fixes the Iroh Rust formatter gate. Uses one pinned Rust toolchain across all jobs, completes hosted coverage (sharded Valgrind with rustls-scoped ring suppressions and a memory‑instrumented transport workload, isolated core tests incl. ignored), and aligns packaging; no runtime changes.

  • New Features

    • Hosted verification: cmux-tui.yml validates an exact commit, supports focused/full, runs filtered workspace tests in focused mode (executes ignored), isolates cmux-tui-core tests (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 per request_id. Workflow helpers (composite action + scripts) are checked out at the workflow SHA to stay consistent when building another ref.
    • Tooling/entry points: pinned toolchain via cmux-tui/rust-toolchain.toml and reusable setup-cmux-tui-rust; scripts/verify-cmux-tui-hosted.sh dispatches, enforces pushed exact-commit verification, streams failures, and downloads the macOS arm64 binary. Docs: cmux-tui/AGENTS.md, cmux-tui/CLAUDE.md.
  • Refactors

    • Packaging: dynamic targets (target_set) with runner overrides; macOS cross via Xcode, Linux cross via cargo-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 pinned rustfmt; added #[cfg(test)] MessageStream::buffered_state() and updated tests; scoped service test imports.

Written for commit d540ea6. Summary will update on new commits.

Review in cubic

@coderabbitai

coderabbitai Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c12b7b8b-3bc1-479d-9450-264faf6561d0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread .github/workflows/cmux-tui-build-package.yml
Comment thread .github/workflows/cmux-tui-sdks.yml Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ 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' }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4babe08. Configure here.

@cursor

cursor Bot commented Aug 11, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot 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.

@cursor

cursor Bot commented Aug 11, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot 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.

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Closing this stale stacked branch. The Iroh mobile transport was replaced by merged #10889, with pairing and relay follow-ups in active branches #11431, #10963, and #11071. This non-main stack is no longer a merge target.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant