test(owned-pool rescue): a nightly-next helper on an owned Mac never cancels a running app build
Why
Regression cover requested by the Codex review of manaflow-ai/cmux#26237. That PR lets a nightly-next workflow_dispatch run, and a re-run that picks again, put the Ghostty CLI helper (cmux#26253) on an owned side Mac. A helper stuck there must never cancel the run while build-nightly-app is still running on Blacksmith. That is the rule "never cancel a started nightly", and #26192 enforces it on main.
What
Tests only. They run against tests/test_ci_owned_pool_rescue.py on current main:
- A stuck helper on a nightly-next dispatch at attempts 1 and 2, and on a push at attempt 2, with the app build running on Blacksmith. Adopted through
sweep_target()as the sweeper does, the run is never cancelled or force-cancelled. - A refused helper on a dispatch gets its failed jobs re-run with no cancel.
Tests
Ran cmux-ci test (Linux): 287 tests OK.
Risk: none. This adds tests only.
Agent session: agent session
š¤ Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Adds regression tests ensuring a nightly-next Ghostty CLI helper on an owned side Mac never cancels a running app build, covering both stuck and refused helpers.
- Verifies no cancel or force-cancel calls while
build-nightly-appruns on Blacksmith acrossworkflow_dispatchattempts 1 and 2 andpushattempt 2. - Confirms a refused helper on a dispatch re-runs its failed jobs without a cancel.
Summary by CodeRabbit
- Tests
- Added coverage for nightly builds using the owned runner pool, including checks that a stalled helper does not cancel an active app build and that failed jobs are retried when the helper cannot be queued.