Repository navigation
ci: run the suites that mention an app-source change - #14418
Merged
Merged
Conversation
Fails today: choose_ci_suite.py takes no app diff, so a pull request that changes Sources/ without touching cmuxTests/ runs no behavior test. #12822 changed AgentQuitProcessOwnership and main's agent-restore suites broke. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uites run A pull request that changes Sources/ or a macOS/Shared package without touching cmuxTests/ ran no behavior test, and #14044, #12822 and #13055 each broke suites they never ran. choose_ci_suite.py now takes the app diff and adds the suites reverse_test_impact.py names, within what the changed-suites budget has left. It only adds: no readable diff or a selector error adds nothing, and a suite that would overflow the budget or leave the changed-suites lane is dropped rather than widening the run to seven shards. Suites with known-main failures are skipped, since a known failure that passes fails a changed-suites run. On #12822's tree the run goes from its 4 edited suites to those plus the selector's picks, 6.3 min of measured test time; selection takes ~10 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
…nged Review of the first cut: the selector also names helper types in cmuxTests/ (SidebarTestManualClock, RejectingRestoreTabDelegate), and a selector that matches no test fails the run. Only suites the shared batch discovers are added now, and none whose addition changes the strict steps, since those run outside the budget. A run the selector alone asked for is a canary, so a re-push of admitted inputs still reuses the build, and reached suites take the changed-suites worker instead of adding up to the whole budget to compile admission. On #12822's tree: 373 suites, 9.1 min of measured time, no strict steps, off admission. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-review follow-ups: a consumer edit that also changes app source kept only the reached suites and lost cmuxTests/CmuxSSHURLRequestTests; it now keeps both. The ci.yml note on canary runs names reached suites too, and the regression test checks every selector is a suite the shared batch runs and that no strict step is added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rustybret
pushed a commit
to rustybret/bmux
that referenced
this pull request
Sep 25, 2026
8409047 ci: run the suites that mention an app-source change (manaflow-ai#14418) cbebee8 fix(homebrew): generate the symbol form of depends_on macos (manaflow-ai#14424) e9bb38a ci(ios): only pick simulators the active Xcode SDK can target (manaflow-ai#14422) 5b2533c fix(ios): stop calling a mutating method inside #expect (manaflow-ai#14421) 4ab2739 ci: pick the pool with the least expected wait, bounded by every run's peak (manaflow-ai#14410) 26292a4 ci(nightly): warn instead of failing when GitHub refuses the tag move (manaflow-ai#14425) f4b331d Merge pull request manaflow-ai#14090 from manaflow-ai/14078-cloud-codex-restore-garble 193f5d9 test: restore AppDelegate.shared after every XCTest case (manaflow-ai#14379) 31588d6 ci: run a tart-* pick as auto while the Tart VMs are offline (manaflow-ai#14416) 2d844cb ci: app-host rerun holds the product's canonical root (manaflow-ai#14417) d0f485e Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble a855dbf test: fix the dead-key crash and sidebar AX walk failing on main (manaflow-ai#14406) 066f300 Merge pull request manaflow-ai#13938 from manaflow-ai/13893-desktop-click-ownership 0c2bb9d Merge remote-tracking branch 'origin/main' into 13893-desktop-click-ownership 9670d83 Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble cb88a4b Merge branch 'main' of https://github.com/manaflow-ai/cmux into 13893-desktop-click-ownership 86504fb fix: import Cloud package for team picker 885a39c test: import CmuxCloud in the Desktop navigation tests 75070d9 Merge remote-tracking branch 'origin/main' into 13893-desktop-click-ownership 3dfcfb9 Merge branch 'main' of https://github.com/manaflow-ai/cmux into 13893-desktop-click-ownership 52020d3 Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble 9cafdf5 test: register cloud preview during materialization bc09ec8 test: scope desktop registration hook to the preview resource ea4242c Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble 1be4c92 fix: count retained cloud previews as planned 4f98bd3 fix: align Xcode iroh package requirement 4a0bd3a chore: update Xcode package lockfile 8cda030 Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble ddeb03d fix: pin published iroh Swift release 1d9082a chore: update iroh package lockfiles fc2b529 fix: pin attested iroh Swift artifact revision 4c33353 test: import surface catalog models in cloud actions 25c64f2 Merge branch 'main' of https://github.com/manaflow-ai/cmux into 13893-desktop-click-ownership 4bd5808 test: import shared surface catalog models 59eddd9 Merge remote-tracking branch 'origin/main' into 13893-desktop-click-ownership a157f5c Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble cbc0118 ci: pin GhosttyKit for replay fix 4a48e3d Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble 4784eb2 fix: preserve Cloud replay trailing rows d081368 Merge origin/main and fix replay API visibility 7202960 Merge remote-tracking branch 'origin/main' into 13893-desktop-click-ownership a846dfd Merge branch 'main' of https://github.com/manaflow-ai/cmux into 14078-cloud-codex-restore-garble 96d5686 fix: delimit replay rows when scrollback exists 6ac603e fix: use terminal history boundary for replay 054dc50 style: apply hosted replay formatting 90fa111 fix: preserve replay history and protect tagged resources d2d6aa3 fix: refresh Cloud renderer after replay application 91601b8 revert: remove speculative Cloud replay grid overrides cb2dc58 test: reproduce Cloud replay shifting sparse screens with history c78ffdc fix: keep replay sizing helpers in app target 1e6f928 fix: preserve Cloud sizing intent across replay e568942 fix: keep Cloud replay geometry transient c094d63 Merge remote-tracking branch 'origin/14078-cloud-codex-restore-garble' into 14078-cloud-codex-restore-garble 8ed24b2 fix: align Cloud replay with remote grid bbc466c test: cover Cloud replay grid alignment cba191e test: cover self-registered Desktop materialization 105f24f fix: keep a Cloud Desktop pane that registers itself while materializing 9397594 Revert "fix: retain local Desktop projection provenance" dc9e8af fix: retain authored colors when Cloud replay omits sidecar 58d4105 test: preserve authored Cloud colors across sidecar-free replay a5af809 Merge remote-tracking branch 'origin/main' into issue-14078-cloud-codex-restore-garble 781a063 Merge origin/main into desktop click ownership 82b100a test: cover legacy applied resize responses a9f6a92 Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble 9d90d5e fix: clear Cloud ownership after replay confirms peer loss 6a36349 fix: defer cross-client Cloud loss until replay state 9bd3588 fix: ignore no-op Cloud resize acknowledgements 99329a1 fix: retain pending Cloud claims through handshake 4c0fa87 fix: demote Cloud mirror after cross-client rejection 509b984 fix: preserve explicit Cloud claim intent dce99b4 fix: distinguish passive Cloud lease outcomes 5de372f test: allow automatic restore claim response f7a3bc7 fix: wait for Cloud resize outcome before claiming 2fdaef3 fix: block rejected cross-client Cloud sizing claims 4804326 fix: stop passive Cloud mirror claim oscillation 223eb67 fix: restore debug title formatter linkage 68fb24d test: keep replay reset marker in restore fixture 674248c Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble 1a11606 fix: reset Cloud VT state for replacement replays 2a2e092 test: reproduce stale Cloud replay cells after restore 15ba7c4 fix: preserve restore intent before process probing a900e91 test: cover click Desktop graph reconciliation ff2694f refactor: isolate workspace title debug formatting 53dd942 Read matchingObservation after it is declared in the restore liveness check 1b288aa Merge remote-tracking branch 'origin/main' into 14078-cloud-codex-restore-garble 8b8c669 test: fence passive Cloud claims with protocol traffic 62532fc fix: remove duplicate Cloud restore test registration 827d859 chore: sync Cloud restore test wiring 22a187b fix: import workspace liveness in Codex restore policy 92126bd test: assert restored Cloud resize dimensions b7e457f fix: retain Cloud geometry claim policy across hidden restores 5dccec0 test: reproduce lost Cloud geometry eligibility after hidden restore 97c4673 test: preserve Cloud replay state across hidden restore geometry e0d44a0 fix: retain local Desktop projection provenance 31f698b fix: preserve committed routes while proxy connects b976180 fix: preserve preview provenance and committed Cloud routes 80f7087 fix: retain explicit Desktop placement provenance 3ee2ece fix: preserve Cloud Desktop panes during reconciliation 39b61fc test: keep Cloud Desktop previews during reconciliation 4ce4f4f fix: let activated Cloud browsers own route navigation 519bf26 test: reproduce desktop navigation without a mounted view 7d2b58a Merge origin/main and preserve per-run E2E cleanup 1b1feb8 test: use lifecycle-safe workspace creation in Desktop fixture a722c20 ci: restore E2E products inside the owned runner temp root 903513c test: enforce E2E DerivedData cleanup ownership c0f96a2 test: keep Desktop placement fixture windows hidden e8a34f4 Merge main after Desktop ownership fix landed fb9955b fix: keep Desktop view opens on the captured destination 1e696af test: give Desktop placement fixtures a complete native window route 9d3e2d8 fix: capture the Desktop view destination before scheduling f327329 Merge remote-tracking branch 'origin/main' into 13893-desktop-click-ownership 6dc7d9f test: establish mouse event context for the Desktop regression baseline 7cdeac6 Merge remote-tracking branch 'origin/main' into 13893-desktop-click-ownership 1f9c925 fix: retain the Desktop click destination across queued work b4f17f6 test: reproduce queued Desktop click targeting another Cloud workspace # Conflicts: # .github/workflows/app-host-test-rerun.yml # .github/workflows/ci-guards.yml # .github/workflows/ci.yml # .github/workflows/nightly.yml # .github/workflows/test-e2e.yml # .github/workflows/test-ios.yml # .github/workflows/update-homebrew.yml
teamleaderleo
added a commit
that referenced
this pull request
Sep 25, 2026
…merge rule (#14532) * docs: correct stale fleet, CI coverage and pitfall notes; add the merge rule - Fleet: owned minis take PR CI jobs via the pool picker; `--tag` is required and `--submitter` comes from the client token; disk floors are 80/180/120 GiB. - Standalone reload needs CMUX_DEV_BACKEND_MODE=local outside an hq checkout. - CI coverage: reached suites (#14418), no PR job runs cmuxUITests/, no-full-ci. - Pitfalls: TerminalSurface.forceRefresh moved to CmuxTerminal; AWS Tart hosts retired (#14427). - Merge rule: main is nightly, wait for the judging checks, note what was not verified, main-regression comments are fix-forward asks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: fix stale skill references (cmuxTests target, vault checkpoint flags, CmuxComputerUse package) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: mention the merge receipt; drop --prod-auth as a reload alternative Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: tie the macOS locale list to localization_catalog.py Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A pull request that changes app code but no
cmuxTests/file runs no app-host behavior test (hq#603). This morning #14044, #12822 and #13055 each passed CI and broke suites they never ran.choose_ci_suite.pynow takes the app diff (--app-diff-from, written by thechangesjob) and adds the suitesreverse_test_impact.pynames (#14367, #14387) to the changed-suites run:cmuxTests/, and a selector that matches no test fails the run, so only suitesdiscover_selectorsfinds are added. None whose addition changesunit_strict_stepsis added, since strict steps run outside the budget.Replay on #12822's tree: its 4 edited suites plus reached suites, 373 in all, 9.1 min of measured test time, no strict steps, off admission. Selection takes about 10 s in
changes.Tests:
tests/test_ci_change_areas.pygainstest_an_app_source_diff_runs_the_suites_that_mention_what_it_changed, committed first (fails: the flag does not exist), then the fix.test_ci_change_areas.py,test_ci_reverse_test_impact.pyandtest_ci_cli_product_routing.pypass locally.test_ci_main_full_suite.pyhas one failure that reproduces on main without this change.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
A PR that changes app source without touching
cmuxTests/used to run no app-host behavior test (hq#603); #14044, #12822 and #13055 each passed CI and broke suites they never ran.choose_ci_suite.pynow takes the app diff from thechangesjob and adds the suitesreverse_test_impact.pynames to the changed-suites run.cmuxTests/, and a selector that matches no test fails the run.Written for commit 3f610dc. Summary will update on new commits.
Summary by CodeRabbit