ci(signing): the owned signing pick accepts the nightly slot label

TE
8d ago
+8-1

Follow-up to #26944. An independent review at #26944's head (posted just before it landed) found that scripts/ci/signing_runner.py only accepted persistent pool labels. vars.CI_NIGHTLY_NEXT_BUILD_RUNNER may name glaeda's nightly slot label (glaeda-nightly-<class>-xcode-<ver>). When it does, the owned pick came back empty and signing fell back to Blacksmith.

Leo, 2026-10-28: "ok. idk what the "risk" was before but like.. we can just read the code and stuff."

What changed

  • The picker now accepts the same owned labels as nightly_build_runner.owned_label: a persistent pool or the nightly slot. A signing job on that runner is still admitted only as glaeda's exclusive class, and the claim gate still requires it.
  • tests/test_ci_signing_owned_mac.py covers a drained nightly-slot runner.

Before / after

  • Before: when the nightly build label is the nightly slot, the owned pick was empty, so signing went to Blacksmith.
  • After: an idle nightly-slot mini is offered like any drained owned mini.

Owned signing stays off until CI_SIGN_OWNED=1. Risk: low.

Agent session: agent session

🤖 Generated with Claude Code