Skip to content

ci: count the 12vcpu macOS pool at 5 machines - #14330

Merged
teamleaderleo merged 1 commit into
mainfrom
ci/12vcpu-capacity-5
Sep 25, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
ci/12vcpu-capacity-5

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

#14323 counted blacksmith-12vcpu-macos-26 at 4 machines. The janitor's snapshots from 2026-09-24 show it running 5 at once several times while jobs were queued behind it (21:18Z, 22:17Z, 22:40Z, 23:28Z), and 7 once. At 4 the picker sends a run to 6vcpu even when 12vcpu has a machine free.

A pool with any job queued still counts as full, however many are running, so a queue on 12vcpu sends the run to the next pool either way. The capacity only decides when an unqueued pool counts as full.

  • POOL_CAPACITIES: 12vcpu goes from 4 to 5.
  • docs/ci-runners.md is updated to match.

Tests (Python only): test_ci_pr_runner_pool 68 OK and test_run_e2e 95 OK. Pinned counts moved from 4 to 5, and a new E2E case covers rerouting when a queue is present.

🤖 Generated with Claude Code


Summary by cubic

Raises the counted capacity of the 12vcpu macOS runner pool from 4 to 5 in POOL_CAPACITIES so the picker uses a free 12vcpu machine instead of rolling runs over to 6vcpu. Janitor snapshots show the pool ran 5 machines at once several times with jobs queued behind it, so counting 4 filled the pool before it actually was. Docs and tests are updated to match, and an E2E case now covers routing runs off 12vcpu when a queue is present.

Written for commit 6b2a6bc. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Updates
    • The macOS 26 12-vCPU runner pool now has capacity for five machines, up from four. The 6-vCPU pools remain unchanged.
    • Runner-pool routing and capacity estimates now account for the additional machine, including when comparing queues and handling runs that roll over between pools.
    • Documentation has been updated to reflect the revised capacity.

… queue

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@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 25, 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: 3eedcb15-35f7-47cb-bba8-82c9a2543666

📥 Commits

Reviewing files that changed from the base of the PR and between e1a5ea3 and 6b2a6bc.

📒 Files selected for processing (4)
  • docs/ci-runners.md
  • scripts/ci/pr_runner_pool.py
  • tests/test_ci_pr_runner_pool.py
  • tests/test_run_e2e.py

Included review availability: Your plan provides up to 10 included reviews per hour; 4 remain after this review.


📝 Walkthrough

Walkthrough

The 12-vCPU macOS 26 runner pool capacity changes from four machines to five. The documentation and pool-routing tests update their capacity, queue, occupancy, and replay expectations.

Changes

12-vCPU Runner Capacity

Layer / File(s) Summary
Update pool capacity
scripts/ci/pr_runner_pool.py, docs/ci-runners.md
The configured and documented capacity for the 12-vCPU macOS 26 pool changes from four to five machines.
Update routing expectations
tests/test_ci_pr_runner_pool.py, tests/test_run_e2e.py
Pool-routing and E2E tests update occupancy, queue, rollover, and replay expectations for the five-machine capacity.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 6b2a6

The five-machine capacity and its documented routing expectations are aligned; no actionable 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 15 functions across 3 files. (1 skipped: 1… 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 main change: increasing the counted capacity of the 12-vCPU macOS pool to five machines.
Description check ✅ Passed The description explains the problem, resulting routing behavior, implementation changes, documentation update, and executed test results. It does not use the template's Summary and Testing headings, …
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 The pull request changes only CI runner pool capacity documentation, POOL_CAPACITIES, and related test expectations. It does not change Cloud terminal creation, cmux-tui transport, manual renderer a…
Cmux Swift Actor Isolation ✅ Passed PASS: The pull request changes only Markdown documentation, Python CI routing code, and Python tests. The authoritative diff contains no Swift files or Swift production changes, so it cannot introduce…
Cmux Swift Blocking Runtime ✅ Passed The pull request changes only one Markdown file and three Python files. The authoritative diff contains no Swift or SwiftPM files, so it does not introduce or expand Swift blocking or timing-based syn…
Cmux Browser Automation Off-Main ✅ Passed The pull request changes only CI runner capacity documentation, Python routing logic, and Python tests. The authoritative diff contains no browser.* socket commands, WebKit/AppKit access, worker-rou…
Cmux Expensive Synchronous Load ✅ Passed The pull request changes only Python, Markdown, and test files. The authoritative diff contains no Swift files and no agent-history load or interactive-path changes. The expensive synchronous load con…
Cmux Cache Substitution Correctness ✅ Passed PASS: The pull request changes only Python code, Python tests, and Markdown documentation. It introduces no production Swift, TypeScript, or JavaScript change, so the cache-substitution correctness co…
Cmux No Hacky Sleeps ✅ Passed PASS. The pull request changes a Python CI pool-capacity constant, its documentation, and test expectations. The production diff adds no sleep, timer, polling, backoff, or wall-clock wait. Existing ti…
Cmux Algorithmic Complexity ✅ Passed The pull request changes only a fixed pool-capacity constant and related comments in Python, plus documentation and test expectations. It adds no Swift, TypeScript, JavaScript, shell, or runtime colle…
Cmux Swift Concurrency ✅ Passed PASS: The review-scoped diff changes only one Markdown file and three Python files. It changes CI pool capacity values and test expectations. It does not modify cmux-owned Swift code or introduce any …
Cmux Swift @Concurrent ✅ Passed The reviewed diff changes only one Markdown file and three Python files. It contains no Swift files, @concurrent, nonisolated, or async changes. Therefore, the Swift concurrency rule does not ap…
Cmux Swift Package Boundaries ✅ Passed The pull request changes only one Markdown file and three Python files. It introduces no production Swift changes, so the Swift package boundary check is not applicable.
Cmux Swiftpm Lockfiles ✅ Passed PASS. The PR changes only CI documentation, Python runner-pool code, and Python tests. The authoritative diff contains no Package.swift, Package.resolved, .gitignore, Xcode project, workflow, or…
Cmux Swift Logging ✅ Passed PASS: The pull request changes only Markdown and Python files. The authoritative diff contains no Swift paths or Swift logging statements, so the Swift logging rule does not apply.
Cmux User-Facing Error Privacy ✅ Passed PASS: The diff changes an internal CI runner-pool capacity from 4 to 5, matching its CI documentation, and updates tests. It does not add or change a cmux user-facing error, alert, API body, recovery …
Cmux Full Internationalization ✅ Passed The diff changes CI pool capacity, developer comments, operational CI documentation, and test expectations only. It introduces no Swift UI text, app catalog or Info.plist entries, web UI/API copy, ren…
Cmux Swiftui State Layout ✅ Passed The pull-request diff changes only one Markdown file and three Python files. It contains no Swift, SwiftUI, or SwiftUI state/layout additions, so the custom SwiftUI check is not applicable.
Cmux Architecture Rethink ✅ Passed PASS. The authoritative PR diff changes only Markdown documentation, Python CI pool logic, and Python tests. It contains no Swift files or Swift architecture changes. Therefore, the Swift-specific fai…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The pull request changes only Markdown documentation and Python implementation/tests. It adds or changes no Swift, NSWindow, NSPanel, NSWindowController, SwiftUI Window, or WindowGroup code. The auxil…
Cmux Source Artifacts ✅ Passed PASS: All four changed paths are intentional documentation, source, and test files. The diff contains only the 12-vCPU capacity update and matching routing-test expectations. No local logs, generated …
Cmux No Test Or Debug Seam In Production Source ✅ Passed The pull request changes only Markdown and Python files. It contains no Swift file under a production Sources/ path, so the specified production test/debug seam condition does not apply.
Full details: Docstring Coverage

Explanation

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 15 functions across 3 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@teamleaderleo
teamleaderleo merged commit 488b058 into main Sep 25, 2026
52 checks passed
@teamleaderleo
teamleaderleo deleted the ci/12vcpu-capacity-5 branch September 25, 2026 01:00
rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 25, 2026
488b058 ci: count the 12vcpu macOS pool at 5 machines, the most it ran with a queue (manaflow-ai#14330)
bcb162c Merge pull request manaflow-ai#14121 from manaflow-ai/issue-13640-terminal-paste-latency
24efd87 test(focus-recovery): run the automatic apply against a pinned tiny surface (manaflow-ai#14322)
57d3d7c Merge pull request manaflow-ai#14293 from manaflow-ai/issue-14290-directory-unavailable-stale
e1a5ea3 ci: never abandon a run the owned pool rescue cancelled (manaflow-ai#14326)
a76f47a web: contain Hexclave failures on every page (manaflow-ai#14316)
fc7f80d ci: start macOS compile admission beside the fast Linux jobs (manaflow-ai#14314)
85f3d9f ci: roll a PR run over to the next pool when one is full (manaflow-ai#14323)
04e8a05 ci: let E2E runs take an owned Mac with a free slot (manaflow-ai#14311)
034025f reload: resolve the cmux-tui client before the build (manaflow-ai#14313)
7472de4 fix: pass projected resource to stale cwd resolver
9045f37 Merge remote-tracking branch 'origin/main' into issue-14290-directory-unavailable-stale
51a9004 fix: retain accepted Cloud cwd while stale
97d44fd test: retain known Cloud cwd during stale refresh
f6df46e fix: retain rich text fallback for lossy paste data
f3f43ed fix: retain rich text fallback for lossy paste data
5d8258b test: preserve rich paste fallback and text fidelity
a9c54ba fix: keep mixed rich text paste on the fast plain-text path
d284b6a test: cover fast paste for mixed plain and HTML clipboard

# Conflicts:
#	.github/workflows/ci-guards.yml
#	.github/workflows/ci-macos.yml
#	.github/workflows/ci-owned-pool-rescue.yml
#	.github/workflows/ci.yml
#	.github/workflows/test-e2e.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