Repository navigation
ci: evict parked pull request builds oldest first instead of a free-disk floor - #15039
Conversation
…isk floor #15020 parked a pull request's build only with 140 GiB free. There is no floor now: parking is bounded by 2 per root and 6 h, and when space runs out parked builds go first. `keep` that hits ENOSPC evicts every parked build on the mini, oldest first, and retries the clone once; `owned_build_state.py evict-parked STORE [COUNT]` does the same for disk tooling. Main builds are never parked, so eviction never touches one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Warning Review limit reachedNext included review available in 3 minutes. View limit detailsLimit 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. Review configuration: ⚙️ 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 |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Merge receipt for |
c490fb4 Add an opt-in subtle sidebar selection highlight (manaflow-ai#14890) b78dae5 ci: evict parked pull request builds oldest first instead of a free-disk floor (manaflow-ai#15039) 31b6fc9 test: close the TabManagers the session snapshot tests create (manaflow-ai#15038) e64eb93 ci: send every retry of an owned-mini job to Blacksmith, once (manaflow-ai#15035) 17f0f90 Test: pin persisted Kimi custom kind on exact remote restore (manaflow-ai#15034) f9d5bb5 Switch between cmux and cmux NIGHTLY from inside the app (manaflow-ai#14995) 756847a sidebar: keep the selected row clear of the footer (manaflow-ai#15013) 1431a1e One dialog per close, and Feed banner clicks open the agent (manaflow-ai#14960) 74d4719 ci: route cli-product-tests to the gui runners like the shards (manaflow-ai#15011) b78e8aa ci: park each pull request's build on its root and route its re-push back to it (manaflow-ai#15020) 60e45e7 web tests: run every child process asynchronously (manaflow-ai#15001) 55724f0 ci: side lanes take the light minis' side runners first (manaflow-ai#15019) 3be8bdd Restoring a remote workspace terminal hands it this machine's working directory (manaflow-ai#8634) a9e555c Reattach 0.64.25 tmux-profile SSH workspaces after upgrading (manaflow-ai#14938) fe20e20 fix: mark workspace-level notifications read on workspace focus (manaflow-ai#12427) # Conflicts: # .github/workflows/app-host-test-rerun.yml # .github/workflows/auth-refresh-tests.yml # .github/workflows/ci-macos.yml # .github/workflows/ci.yml # .github/workflows/cloud-command-deadlines.yml # .github/workflows/cloud-machine-tests.yml # .github/workflows/cloud-task-local-tests.yml # .github/workflows/cmux-tui.yml # .github/workflows/iroh-v2.yml # .github/workflows/relay-tls.yml # .github/workflows/reload-build.yml # .github/workflows/remote-daemon.yml # .github/workflows/terminal-hang-diagnostics.yml
#15020 parked a pull request's build only while the volume had 140 GiB free. That is a fixed floor like the one glaeda#1322 removed from idle warming, so it's gone.
keepthat hits ENOSPC (fromcp -cor copytree's text error) evicts every parked build on the mini, across all canonical roots, oldest first, then retries the clone once. With nothing to evict the error stands, as before.owned_build_state.py evict-parked STORE [COUNT]evicts the COUNT oldest parked builds (all by default) so disk tooling such as glaeda-disk can reclaim them before anything else.Tests:
tests/test_ci_owned_build_state.pycovers the ENOSPC evict-and-retry and the oldest-firstevict-parkedCLI. The parking tests no longer mock free disk. A targeted-krun passes locally; CI runs the file.🤖 Generated with Claude Code
Summary by cubic
Parks pull request builds without the previous 140 GiB free-disk floor; parking is now bounded only by the existing 2-per-root, 6-hour cap.
keepthat hits ENOSPC evicts every parked build on the mini across all canonical roots (oldest first) and retries the clone once, removing the partial clone if it fails so its space isn't held until the next keep.owned_build_state.py evict-parked STORE [COUNT]evicts parked builds oldest-first (all by default) so disk tooling can reclaim space.Written for commit cca806e. Summary will update on new commits.
Summary by CodeRabbit