Repository navigation
ci(e2e): queue E2E runs for the owned pool within CI_PR_POOL_QUEUE_ROUNDS - #14640
Merged
Merged
Conversation
…UNDS e2e_runner_pool.py read no queue rounds, so an E2E run took an owned pool only when its peak was free counting every in-flight run's whole future peak (the janitor's `committed`), the rule pull request CI dropped in #14401. The 2026-09-25 12:34:57 snapshot read 43 of 32 std machines taken while 8 ran. test-e2e.yml, and the dispatch launcher (dispatch-focused-test.py, with test-macos-suite.yml and main-regression-bisect.yml passing the variable), now pass CI_PR_POOL_QUEUE_ROUNDS. The rounds decide only whether an owned pool takes the run; with no owned room the Blacksmith pick is the headroom rule's, unchanged. The rescue gives test-e2e.yml runs the same queue allowance as CI and test-ios.yml runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Merge receipt for
Labeled |
|
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 (9)
✨ 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 |
rustybret
pushed a commit
to rustybret/bmux
that referenced
this pull request
Sep 25, 2026
60d8ac1 Land ejc3's isolated defaults test from manaflow-ai#12598 (manaflow-ai#14504) e926f24 fix: resolve the terminal Copy guard through the Command-aware keyboard layout (manaflow-ai#10872) (manaflow-ai#13015) 0df2946 Fix startup-race crash in v2RefreshKnownRefs against a half-restored session (manaflow-ai#2751) (manaflow-ai#9627) 611eeac ci(e2e): queue E2E runs for the owned pool within CI_PR_POOL_QUEUE_ROUNDS (manaflow-ai#14640) 27b8cbc ci: seed the Swift package cache from main pushes (manaflow-ai#14638) be46dba ci: stop E2E from saving an unresolved Swift package cache (manaflow-ai#14632) 2486e99 ci: run-e2e.sh --wait asks glaeda-gh instead of polling GitHub (manaflow-ai#14622) 088034b ci(ios): queue test-ios runs for the owned pool within CI_PR_POOL_QUEUE_ROUNDS (manaflow-ai#14630) # Conflicts: # .github/workflows/main-regression-bisect.yml # .github/workflows/perf-activation.yml # .github/workflows/seed-derived-data.yml # .github/workflows/test-e2e.yml # .github/workflows/test-ios.yml # .github/workflows/test-macos-suite.yml
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.
Why
Follow-up to #14630 (same cause, E2E side). e2e_runner_pool.py read no
CI_PR_POOL_QUEUE_ROUNDS, so an E2E run took an owned pool only when its peak was free, with every in-flight run's whole future peak (committed) counted as taken. Pull request CI dropped that rule in #14401. On the 2026-09-25 12:34:57 snapshot it read 43 of 32 std machines taken while 8 ran, so every owned pool looked full.What
--queue-rounds "$POOL_QUEUE_ROUNDS"(vars.CI_PR_POOL_QUEUE_ROUNDS; "" is the default 1 round, 0 the kill switch, omitted is 0). dispatch-focused-test.py reads the same variable (unset is the default), and test-macos-suite.yml and main-regression-bisect.yml pass it through asCMUX_CI_PR_POOL_QUEUE_ROUNDS.Tests
python3 tests/test_ci_pr_runner_pool.py161 OK,tests/test_ci_owned_pool_rescue.py92 OK,tests/test_run_e2e.py101 OK, plus workflow_run_sources, fork routing and the self-hosted guard.Design note from review: an E2E build or test job holds a root runner up to about 45 min, longer than the compile-length round the queue estimate assumes. So on the 2-runner glaeda-root-light pool, a queued E2E run can delay PR admission for longer than the rounds suggest. Setting
CI_PR_POOL_QUEUE_ROUNDSto 0 turns this off.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Makes E2E runs queue for owned macOS pools within
CI_PR_POOL_QUEUE_ROUNDS, matching pull request CI. Previously E2E used the kill-switch rule, which counted every in-flight run's whole future peak as taken now, so owned pools frequently looked full and runs fell back to Blacksmith.CI_PR_POOL_QUEUE_ROUNDSthrough:""is the default of 1 round,0turns the feature off, and an omitted flag keeps the old behavior.owned_pool_rescue.pygives E2E runs the same queue allowance asci.ymlandtest-ios.ymlruns.0to turn this off.Written for commit 2670287. Summary will update on new commits.