ci(nightly): NEXT nightly Blacksmith macOS legs on 6vcpu, the size that gets capacity

Merged
TE
11d ago
+20-20

The nightly-next feed is about 4 hours behind. Its Blacksmith macOS legs default to blacksmith-12vcpu-macos-26, and that label has started nothing since about 01:20Z on 2026-10-26.

Evidence, taken from the Actions API at about 05:40Z:

  • 12vcpu: 36 jobs queued on blacksmith-12vcpu-macos-26, none running. The oldest has been waiting since 02:19Z. The last job that started on it was build-nightly-app in run 40249486409, at 01:20Z.
  • 6vcpu: blacksmith-6vcpu-macos-26 kept starting jobs over the same window. Three fast-tier legs and a Swift canary started between 05:21Z and 05:25Z, and its oldest queued job was about 15 minutes old.
  • Stuck nightly-next runs: 40264205435 (build-sign-notarize-nightly) and 40268415260 and 40268834029 (build-nightly-app, attempt 2) sit queued on the 12vcpu label.

The likely cause is that the org's Blacksmith macOS vCPU budget keeps being refilled by 6vcpu jobs, so a 12vcpu job never fits.

Change

  • In nightly.yml, the default blacksmith-12vcpu-macos-26 becomes blacksmith-6vcpu-macos-26 in all 12 places. It is the same Blacksmith image, and Blacksmith is trusted for signing.
  • vars.MACOS_RUNNER_26 still overrides it when set.
  • Attempt-1 owned-pool routing (vars.CI_SIDE_LANE_RUNNER / CI_SEED_TRUSTED_POOL) is unchanged. Routing order is unchanged: owned Macs first, Blacksmith last.
  • The tests that pin the nightly's default label are updated: test_ci_nightly_off_blacksmith, test_nightly_universal_build.sh, and test_nightly_unsigned_resume.

Risk

  • Slower jobs: sign and notarize on 6 vCPU instead of 12. Those steps are mostly codesign, lipo and the Apple wait. A compile leg that falls back on attempt 2 or later (build-nightly-app or prepare fallback) is slower, but it starts instead of waiting forever.
  • Timeouts: they stay the same (build-nightly-app 90 min, sign 160 min).
  • Already-queued runs: this does not move them, because runs-on is fixed at queue time. They are not cancelled.

Tests (run locally, single files)

  • Pass: test_ci_nightly_off_blacksmith, test_nightly_unsigned_resume, test_nightly_trusted_routing, test_ci_tui_routes_avoid_nightly_label, test_ci_next_macos_cascade, test_runner_label_policy, test_nightly_universal_build.sh.
  • Fail, also on base: test_ci_fork_runner_routing. Its nightly.yml:3104 finding is the same line on base, just with the 12vcpu label.

Agent session: agent session

šŸ¤– Generated with Claude Code


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