ci(cmux-next): preserve bot overflow after placement

Closed
TE
2d ago
+27-10

Changelog

Fixed: bot rescue reruns now use the Blacksmith fallback after the owned-pool placement attempt.

What changed

A full rerun retains the successful macos-placement job output. The Mac jobs now consume that output only through attempt 2 or a non-rescue trigger, so a bot attempt 3 cannot inherit the stale side label.

Validation

  • python3 -m unittest tests.test_cmux_next_checks_workflow -q (39 passed)
  • git diff --check

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Fixes bot rescue reruns of cmux-next macOS jobs so attempts past the second fall back to Blacksmith instead of reusing the stale side-label placement output.

Bot overflow

  • Gated runs-on and CMUX_NEXT_RUNNER on the attempt/actor rule for swift-test, daemon-test, generated-files, release-compile, and cmux-scheme-compile.
  • Added workflow tests asserting the gate.

[!NOTE]
Low Risk
CI workflow expression change only; affects macOS runner selection on bot reruns, not application code or secrets.

Overview
Fixes owned-pool rescue overflow for cmux-next macOS jobs when github-actions[bot] reruns a workflow after attempt 2.

Previously, runs-on and CMUX_NEXT_RUNNER always preferred needs.macos-placement.outputs.runner when present. A full rerun reuses the successful placement job’s outputs, so bot attempt 3+ could keep scheduling on the stale mini/side label instead of the intended Blacksmith fallback.

The expression now only honors placement output when github.run_attempt <= 2 or the trigger is not the bot—the same rule already used deeper in the fallback chain. swift-test, daemon-test, generated-files, release-compile, and cmux-scheme-compile are updated in both runs-on and CMUX_NEXT_RUNNER.

Adds test_bot_overflow_ignores_stale_placement_output in tests/test_cmux_next_checks_workflow.py to lock in the gated expression.

Reviewed by Cursor Bugbot for commit ae06d2d1ad40278d2ba8ae6bffcb0536c2a07ded. Bugbot is set up for automated code reviews on this repo. Configure here.