Skip to content

test: expect the tests gate's cancelled-run message for a cancelled preflight - #16173

Closed
austinywang wants to merge 1 commit into
mainfrom
15488-ci-gate-cancelled-message
Closed

austinywang wants to merge 1 commit into
mainfrom
15488-ci-gate-cancelled-message

Conversation

@austinywang

@austinywang austinywang commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Since #16150, the canonical CI guard profile fails on every pull request that routes it, and ci.yml's macOS admission gate then declines that pull request's macOS jobs. It hit #16164 (guard job):

FAIL: test_linux_failure_still_blocks_tests_after_macos_succeeds
  File "tests/test_ci_change_areas.py", line 3879, in test_linux_failure_still_blocks_tests_after_macos_succeeds
    assert f"linux preflight did not pass: {outcome}" in result.stderr
AssertionError
1 of 271 tests failed

Part of #15488.

Why

#16150 made the tests gate report any cancelled need as cancelled: <job> and exit before it reads the routing verdict. It still fails the gate. The test kept expecting linux preflight did not pass: cancelled for a cancelled linux-preflight. The gate's actual output:

preflight exit stderr
failure 1 linux preflight did not pass: failure
cancelled 1 cancelled: linux-preflight / this run was stopped before it reported a test verdict; …
skipped 1 linux preflight did not pass: skipped

Change

The test still requires a non-zero exit for all three outcomes. For cancelled it checks the cancelled-run message and that no routing verdict is printed. The other two keep their exact message check.

Verification

  • python3 tests/test_ci_change_areas.py: all 271 tests pass. The unchanged test failed as above.
  • python3 tests/test_ci_linux_guard_routing.py: 35 tests OK.
  • python3 scripts/verify-local.py: 15 of 16 selected checks passed.

Changelog

none

🤖 Generated with Claude Code


Summary by cubic

Updates test_linux_failure_still_blocks_tests_after_macos_succeeds so a cancelled linux-preflight expects the gate's cancelled: linux-preflight message instead of linux preflight did not pass: cancelled. Since #16150 the gate reports any cancelled need as cancelled: <job> and exits before reading the routing verdict, so the old assertion broke and made the canonical CI guard profile fail on every pull request that routes it.

  • The test still requires a non-zero exit for failure, cancelled, and skipped preflights.
  • For cancelled, it also asserts no routing verdict is printed.

Written for commit 219c894. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Tests
    • Updated CI checks to expect cancellation details before Linux preflight failure messages.

…reflight

#16150 made the ci.yml tests gate report any cancelled need as
"cancelled: <job>" and exit before it reads the routing verdict. It still
fails the gate, but test_linux_failure_still_blocks_tests_after_macos_succeeds
kept expecting "linux preflight did not pass: cancelled" for a cancelled
linux-preflight. So the canonical CI guard profile failed on every pull
request that routes it, and ci.yml's macOS admission gate then declined
that pull request's macOS jobs (seen on #16164).

The test still requires a non-zero exit for failure, cancelled and
skipped preflights. For cancelled it now checks the gate's cancelled-run
message and that no routing verdict is printed.

Refs #15488

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 433ed70a-6aab-4c4c-bf55-2f25e772e169

📥 Commits

Reviewing files that changed from the base of the PR and between df28c39 and 219c894.

📒 Files selected for processing (1)
  • tests/test_ci_change_areas.py

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 2 remain after this review.


📝 Walkthrough

Walkthrough

The Linux preflight test now checks cancellation separately from other unsuccessful outcomes. It expects the cancellation message first and retains the outcome-specific failure message for other outcomes.

Changes

Linux preflight test

Layer / File(s) Summary
Preflight outcome assertions
tests/test_ci_change_areas.py
The test expects cancelled outcomes to report cancelled: linux-preflight before the failure message. Other unsuccessful outcomes retain the outcome-specific failure message.

Priority: ⬆️ High

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 219c8

This change updates a CI test to match the existing gate behavior. No merge-blocking risk is established.

🚥 Pre-merge checks | ✅ 24 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (24 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the test change and the cancelled preflight message it now expects.
Description check ✅ Passed The description explains the problem, expected behavior, code change, verification results, and changelog status. It uses a Verification heading instead of Testing and omits the template checklist, bu…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Cloud Persistent Session And Early Input ✅ Passed PASS: The pull request changes only tests/test_ci_change_areas.py. It updates assertions for a cancelled linux-preflight result. It does not change Cloud terminal creation, cmux-tui transport, man…
Cmux Swift Actor Isolation ✅ Passed The pull request changes only the Python test file tests/test_ci_change_areas.py. It introduces no production Swift changes, Swift actors, SwiftUI types, or Sendable reference types. The custom chec…
Cmux Swift Blocking Runtime ✅ Passed The pull request changes only tests/test_ci_change_areas.py, a Python test file. The diff updates assertions for the cancelled Linux preflight outcome and adds no production Swift code or blocking/t…
Cmux Browser Automation Off-Main ✅ Passed PASS: The PR changes only tests/test_ci_change_areas.py, updating an assertion for cancelled Linux preflight runs. It does not change browser socket commands, worker routing, WebKit/AppKit access, o…
Cmux Expensive Synchronous Load ✅ Passed The pull request changes only tests/test_ci_change_areas.py, a Python test file. The diff adds assertions for the cancelled tests-gate message and does not add or move any production Swift code, age…
Cmux Cache Substitution Correctness ✅ Passed The pull request changes only tests/test_ci_change_areas.py, a Python test file. The diff updates assertions for cancelled and non-cancelled CI outcomes. It does not change production Swift, TypeScr…
Cmux No Hacky Sleeps ✅ Passed PASS: The PR changes only tests/test_ci_change_areas.py, a test file. The diff updates assertions for cancelled and failed preflight outcomes and introduces no sleeps, timers, polling, delays, or ru…
Cmux Algorithmic Complexity ✅ Passed PASS. The pull request changes only tests/test_ci_change_areas.py. The added conditional assertions are test-only logic over a fixed three-item tuple of outcomes. The algorithmic-complexity rule exp…
Cmux Swift Concurrency ✅ Passed The pull request changes only tests/test_ci_change_areas.py, a Python test. The authoritative diff contains no Swift files or Swift concurrency changes, so the cmux Swift concurrency check does not …
Cmux Swift @Concurrent ✅ Passed The pull request changes only tests/test_ci_change_areas.py, a Python test. The authoritative diff contains no Swift files or Swift declarations, so the @concurrent check is not applicable.
Cmux Swift Package Boundaries ✅ Passed PASS: The pull request changes only tests/test_ci_change_areas.py. It introduces no Swift production code or app-target feature logic. The Swift package boundary check is therefore not applicable, a…
Cmux Swiftpm Lockfiles ✅ Passed The pull request changes only tests/test_ci_change_areas.py. It does not change a SwiftPM package, Xcode project, .gitignore, workflow, dependency declaration, or lockfile. The SwiftPM lockfile po…
Cmux Swift Logging ✅ Passed PASS: The authoritative diff changes only the Python test file tests/test_ci_change_areas.py. It adds test assertions for cancellation and updates an existing assertion. It adds no Swift source, pro…
Cmux User-Facing Error Privacy ✅ Passed PASS. The pull request changes only tests/test_ci_change_areas.py. It updates test assertions for a cancelled CI preflight and adds test-only comments. The review rule explicitly allows tests, and n…
Cmux Full Internationalization ✅ Passed PASS: The PR changes only tests/test_ci_change_areas.py. The diff updates test assertions for cancelled CI outcomes and adds test comments. It does not change production user-facing text, catalogs, …
Cmux Swiftui State Layout ✅ Passed PASS: The pull request changes only tests/test_ci_change_areas.py, a Python test. The diff contains no SwiftUI code or state/layout changes, so the cmux SwiftUI state layout check is not applicabl…
Cmux Architecture Rethink ✅ Passed PASS: The pull request changes only the Python test file tests/test_ci_change_areas.py. It updates cancellation assertions and adds no Swift code, timing repair, state owner, observer, bridge, or li…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The pull request changes only tests/test_ci_change_areas.py. The diff contains no Swift code or standalone cmux-owned window changes, so the auxiliary-window close-shortcut check is not applicable.
Cmux Source Artifacts ✅ Passed The PR changes only tests/test_ci_change_areas.py, a hand-written test source file. The diff adds assertions for cancelled, failure, and skipped preflight outcomes. It adds no local output, generate…
Cmux No Test Or Debug Seam In Production Source ✅ Passed PASS: The pull request changes only tests/test_ci_change_areas.py. It changes Python test assertions and does not modify any Swift file under a production Sources/ path. The custom check is theref…
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 3
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch 15488-ci-gate-cancelled-message
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

@austinywang

Copy link
Copy Markdown
Contributor Author

Closing as a duplicate of #16168, which opened nine minutes earlier and makes the same fix to test_linux_failure_still_blocks_tests_after_macos_succeeds (plus its submodule-guard cleanup). My version also asserted that no routing verdict is printed for a cancelled preflight, which is optional.

@austinywang
austinywang deleted the 15488-ci-gate-cancelled-message branch September 30, 2026 19:35
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