Skip to content

ci: give each Python lane test an empty Foundation home - #15289

Merged
teamleaderleo merged 2 commits into
mainfrom
fix/python-lane-home
Sep 28, 2026
Merged

teamleaderleo merged 2 commits into
mainfrom
fix/python-lane-home

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

In main run 36398180780, app-host shard 4 failed 11 Python lane tests on one owned runner. Among them were test_cli_socket_operation_deadline, test_cli_layout_focus_contract, test_browser_profile_cli and the test_cli_claude_teams_* tests. Their fake sockets received a line that was not JSON, or closed before replying.

The cmux CLI reads its socket password file under Foundation's home directory, and that directory follows CFFIXED_USER_HOME, not HOME. When the runner account also runs its own cmux with a socket password, the CLI sends auth <password> to every fake socket before the request under test. #15204 fixed the same failure in the Swift CMUXCLIEventsStreamErrorTests on the same runner.

run_python_test_lane.py now points CFFIXED_USER_HOME at an empty per-test directory, unless the job or the test already sets it. Tests that set their own isolated home are unchanged.

Testing

  • Called run_one on a stub test locally: it receives a fresh per-test CFFIXED_USER_HOME.
  • python3 -m py_compile scripts/ci/run_python_test_lane.py.

Changelog

none

🤖 Generated with Claude Code


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


Summary by cubic

Fixes flaky Python lane tests on runners whose account also runs its own cmux.

  • The CLI reads its socket password under CFFIXED_USER_HOME (not HOME), sending an auth line to every fake socket fixture before the request under test, which broke 11 tests in one main run.
  • run_python_test_lane.py now points CFFIXED_USER_HOME at an empty per-test directory unless the job already sets it; tests may still set their own isolated home for subprocesses.

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

Review in cubic

The cmux CLI reads its socket password file under Foundation's home
directory, which follows CFFIXED_USER_HOME rather than HOME. On a runner
whose account also runs cmux with a socket password, every CLI test that
talks to a fake socket got an `auth` line first and failed (11 tests in
one main run's app-host shard 4). Point CFFIXED_USER_HOME at an empty
per-test directory unless the job or test already sets it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@teamleaderleo
teamleaderleo enabled auto-merge (squash) September 28, 2026 09:31
@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 8 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 32711c9c-ac5e-4fb2-a55e-81af56340cc9

📥 Commits

Reviewing files that changed from the base of the PR and between b36339a and f6c7057.

📒 Files selected for processing (1)
  • scripts/ci/run_python_test_lane.py

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.

@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Dogfood build of f6c705731f57616646b6603140f7ccb1da37ab34

cmux DEV pr-15289-f6c70573.app

The link opens this exact commit in the cmux dev menu bar app. The build starts on each push and the page waits until it is ready; a newer push replaces it. It signs in against production, so Cloud or backend changes still need a tagged build with a development backend.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@teamleaderleo
teamleaderleo merged commit 0c753fe into main Sep 28, 2026
58 checks passed
@teamleaderleo
teamleaderleo deleted the fix/python-lane-home branch September 28, 2026 10:54
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for f6c705731f: every check was green at merge (20 verified; 21 skipped by policy). Full suite runs on main after merge.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 28, 2026
0c753fe ci: give each Python lane test an empty Foundation home (manaflow-ai#15289)
62cde14 Place config error notice below the tab bar (manaflow-ai#15218)
436909b Keep an exited terminal's tab edge consistent with its revision (manaflow-ai#15205)
fc882fe Cloud: rebake the devbox ladder with cmux-tui 3412812 (manaflow-ai#15323)
8e6357b Add pr-media.py for putting a clip or screenshot on a PR (manaflow-ai#15295)
1755ea8 ci: place release-build and main's side lanes on the owned minis (manaflow-ai#14797)
447eb04 Keep focused-pane notifications silent unless opted in (manaflow-ai#15233)
f66d18a Dial every discovered Mac concurrently on iOS (manaflow-ai#15127)
dc5a21a ci: place the Iroh release gate's Tailscale job on the owned minis (manaflow-ai#15139)
3887653 docs: hide the Cloud beta note on nightly docs (manaflow-ai#15317)
f4115d7 Center cloud row icon glyphs by their visible pixels (manaflow-ai#15149)
8714160 Let dogfood tours hold modifiers while clicking (manaflow-ai#15239)

# Conflicts:
#	.github/workflows/ci-guards.yml
#	.github/workflows/ci-macos.yml
#	.github/workflows/ci-owned-pool-rescue.yml
#	.github/workflows/ci.yml
#	.github/workflows/iroh-release-gate.yml
#	.github/workflows/remote-daemon.yml
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