Skip to content

base red: cmux-tui builds for Windows again (cmux-automations unix-only) - #29075

Merged
lawrencecchen merged 3 commits into
feat-cmux-nextfrom
lane/ao-win-automations
Oct 31, 2026
Merged

lawrencecchen merged 3 commits into
feat-cmux-nextfrom
lane/ao-win-automations

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

build-windows / build x86_64-pc-windows-gnu fails for every PR whose change routes it on. It runs cargo build -p cmux-tui --target x86_64-pc-windows-gnu, and that fails with could not compile cmux-automations (lib) due to 35 previous errors. The errors are std::os::unix, std::os::fd, and libc::localtime_r / gmtime_r / timegm / kill / pid_t (seen on #28678 and #28759, for example job 124460652801).

cmux-tui uses cmux-automations only from cli/automation.rs. That module is already #[cfg(unix)], as is its run_if_requested call in cli.rs. Only the dependency was declared for every target. This PR moves it to [target.'cfg(unix)'.dependencies], so a Windows build no longer compiles the crate. Nothing changes on macOS or Linux, and Cargo.lock is unchanged.

Base push runs don't run build-windows, so this red never shows on base. next-autoland then counts it as each PR's own red, which holds back otherwise-ready PRs.

Testing

Red: base, as build-windows on #28678 and #28759 at their heads (35 errors in crates\cmux-automations). Green: this PR's own build-windows job.

Observed / Not run

Observed: the Windows errors in those jobs' logs, all in cmux-automations, and that cmux-tui reaches the crate only through cfg(unix) code (git grep cmux_automations).
Not run: a local Windows cross-build (this VM has no mingw toolchain); this PR's CI build-windows job runs it.

Changelog

none

Agent session: agent session

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the Windows build of cmux-tui by making cmux-automations a unix-only dependency.

cmux-automations uses std::os::unix and libc unix calls, so compiling it for x86_64-pc-windows-gnu failed with 35 errors. cmux-tui only reaches the crate from cli/automation.rs, which is already #[cfg(unix)]. Moving the dependency to [target.'cfg(unix)'.dependencies] means Windows builds skip the crate entirely. macOS and Linux builds are unchanged, and Cargo.lock is untouched.

Written for commit 365416c. Summary will update on new commits.

View guided diff Turn on auto-fix

…ix-only dependency)

cmux-automations uses std::os::unix and libc's unix calls; cmux-tui reaches it only from
cli/automation.rs, which is already cfg(unix). Depending on it on every target made
build-windows (cargo build -p cmux-tui --target x86_64-pc-windows-gnu) fail with 35 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-ae4029a33c6be100d23c
@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 592cf2d: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr29075 -f ref=lane/ao-win-automations -f platform=macos -f backend_mode=local

Shipped in:

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 31, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high): SHIP at 592cf2d

Every cmux_automations reference in cmux-tui is in src/cli/automation.rs, whose module and dispatch are cfg(unix). Tests and build.rs have none, and no other crate in the Windows jobs depends on cmux-automations. On unix the dependency is unchanged. No blocking or follow-up findings.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Green: build-windows / build x86_64-pc-windows-gnu passes at 592cf2d (job 124479332637). On #28678 and #28759 it failed with 35 errors in cmux-automations. The only other red is release-notary, which also fails on base.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high): SHIP at 4740ddd

Carried from the SHIP at 592cf2d. The new head is a conflict-free merge of feat-cmux-next, and the PR's diff against base is still the same one file, cmux-tui/crates/cmux-tui/Cargo.toml.

@austinywang

Copy link
Copy Markdown
Contributor

Review (review_pr26612, independent correctness review): SHIP at 4740ddd

No correctness findings. The sole diff moves cmux-automations into cfg(unix) dependencies. Every direct use is in cli/automation.rs; both that module and its CLI dispatch are already gated by cfg(unix). Unix availability is preserved, and Windows no longer builds an unused Unix-only crate.

Executed at this exact head: Windows job completed its Build libghostty-vt + cmux-tui (Windows GNU) step successfully at 09:21:14 UTC; the acpmux Windows build and startup passed too. The Windows job's remaining runtime long-path checks were still running when reviewed; this receipt does not claim those passed. No local builds or tests were run.

This shared repair removes the inherited Windows compiler failure blocking #26612 and other cmux-tui PRs. The release-notary guard failure is also present on base.

@austinywang austinywang added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 31, 2026

@cmux-bot cmux-bot 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.

cmux-bot approves 4740ddd: an independent review passed this exact head (austinywang: Review (review_pr26612, independent correctness review): SHIP at 4740ddd). A push needs a new review; a later BLOCK at this head dismisses this approval.

@austinywang austinywang removed the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 31, 2026
@austinywang

Copy link
Copy Markdown
Contributor

Review (review_pr26612, independent correctness review): SHIP at 365416c

Fresh review of the full diff and incoming base interactions found no correctness defects. The PR still changes only Cargo.toml, moving cmux-automations to cfg(unix) dependencies. Incoming Rust changes do not alter automation callers or their Unix guards; Unix availability is preserved and Windows skips the unused Unix-only crate.

I merged the current base through GitHub update-branch with the expected previous head, preserving both histories. Autoland had classified the previous release-guard failure as fixed on base but was waiting on a queued compile before updating the branch. This review independently checked the new head against base 07088897284b6637a4ddb5763e06ca1601d4aae2.

Observed: the previous-head full Windows job passed, including compilation, long paths, process exit, key handoff and ConPTY resize. Current-head Windows and cargo jobs are still running; no exact-new-head build or runtime pass is claimed. No local builds/tests ran.

@austinywang austinywang added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 31, 2026
@lawrencecchen
lawrencecchen merged commit b416752 into feat-cmux-next Oct 31, 2026
243 of 251 checks passed
@lawrencecchen
lawrencecchen deleted the lane/ao-win-automations branch October 31, 2026 09:59

This branch was previously deployed

3 inactive deployments
artifacts — 365416c2 Deployed Oct 31, 2026 by austinywang via add the Windows daemon to the tree #88906
ci-routing-agent — 365416c2 Deployed Oct 31, 2026 by github-actions[bot] via cmux-next macOS placement #53736
sentry-dsyms — 365416c2 Deployed Oct 31, 2026 by austinywang via upload cmux-tui dSYMs to Sentry #88906
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants