Skip to content

Test Iroh path selection without sleeps - #9925

Closed
lawrencecchen wants to merge 2 commits into
feat-tui-iroh-iosfrom
task-pr-9237-deterministic-iroh-e2e
Closed

lawrencecchen wants to merge 2 commits into
feat-tui-iroh-iosfrom
task-pr-9237-deterministic-iroh-e2e

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Replace the Iroh path-selection test sleep with a bounded readiness probe.
  • Keep one final 20-second deadline and delay missed probes instead of catching up.

Testing

  • Hosted verification pending. No local compile or test run, as required by the timing-audit owner.

Related


Note

Medium Risk
Large CI and workflow changes affect the merge gate and release-path builds; the Iroh test tweak is low risk but bundled with broad pipeline edits.

Overview
Replaces ad-hoc local cargo with a hosted verification gate driven by workflow_dispatch on an exact 40-char SHA (focused test filter vs full merge gate), plus scripts/verify-cmux-tui-hosted.sh to dispatch, wait, and download a macOS arm64 binary.

Centralizes Rust for cmux-tui via cmux-tui/rust-toolchain.toml and .github/actions/setup-cmux-tui-rust, wired into package builds, SDK conformance, and the main TUI workflow.

Expands CI behavior: cmux-tui-build-package.yml adds target planning (all vs macos-arm64), runner overrides, Ghostty-derived Zig version, Linux vs macOS cross-build paths, and optional Cloudflare relay / native Linux ARM64 package checks. New cmux-tui-sdks.yml runs multi-language SDK contract, package, consumer, and live conformance jobs.

Test execution changes in cmux-tui.yml: Valgrind limited to a startup shard with exact tests; cmux-tui-core tests run one-per-process via run-cmux-tui-core-tests-isolated.py; full mode reuses the package workflow for dogfood artifacts.

Iroh e2e (wait_for_path_kind): drops fixed sleep polling for a 50ms interval with MissedTickBehavior::Delay inside a single 20s timeout.

Agent docs in cmux-tui/AGENTS.md document hosted-only verification on Lawrence's Mac.

Reviewed by Cursor Bugbot for commit 9d2b381. Bugbot is set up for automated code reviews on this repo. Configure here.


Summary by cubic

Make the Iroh path-selection test deterministic and add an exact-head hosted verification path for cmux-tui with a pinned Rust toolchain. This reduces test flakiness and ensures CI runs the exact pushed commit across focused and full suites.

  • CI
    • Add cmux-tui.yml and scripts/verify-cmux-tui-hosted.sh to run focused or full suites on hosted runners, require an exact commit, and publish a macOS arm64 artifact.
    • Pin Rust via cmux-tui/rust-toolchain.toml and a reusable setup action, and update build/package workflows to use target planning, Zig version resolution, and per-binary test isolation.

Written for commit 9d2b381. 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: fd79d631-d19e-4c3a-ac71-42a150e02b68

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.

@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 2 potential issues.

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 9d2b381. Configure here.

shell: bash
run: |
version="$(bash ./scripts/ghostty-zig-version.sh)"
echo "version=$version" >> "$GITHUB_OUTPUT"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing Zig version helper script

High Severity

The package build workflow runs ./scripts/ghostty-zig-version.sh to pick the Zig version, but that script is not in the repository. Every dogfood and package build hits this step and fails before compilation starts, including focused hosted verification that still builds macOS arm64.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 9d2b381. Configure here.

"$test_name" \
--exact \
--test-threads=1
done

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Valgrind targets missing tests

High Severity

The Valgrind startup shard hard-requires pending_wrap_replay_preserves_cursor_with_origin_mode and three config::tests::* names that are not present in the tree. Full-mode hosted verification fails at the exact-test checks even when binaries build cleanly.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 9d2b381. Configure here.

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Closing with obsolete parent stack #9237. The Iroh transport direction now follows merged #10889 and current mobile pairing work. Re-cut any sleep-free readiness probe on current main if still needed.

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