ci(signing): the owned signing pick accepts the nightly slot label
TE
8d ago+8+8+0123456789-1-1-0123456789
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.pycovers 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