ci(nightly): the sign picker and the visual gate router take the all-nightly reservation first
Merged
TE
5d ago+6+6+0123456789-4-4-0123456789
Blacksmith's 16-vCPU Linux label is queueing nightly-next's light controls 5-14 min tonight:
- run 41374257749: pick-nightly-sign-runner queued from 01:59:15Z;
- runs 41373656988 and 41372372224: route-visual-gate-nightly and the jobs after it.
pick-nightly-sign-runner is on the path to the feed: signing waits for it.
Change: on attempt 1 of a nightly-next run with vars.CI_NIGHTLY_ONLY_RUNNER == 'glaeda-nightly-only-m4pro', both jobs take the all-nightly reservation first. That is the same guarded first route decide, resolve-nightly-cmux-tui-client and find-nightly-next-recovery already use. Otherwise their old route runs.
- Both jobs only check out tooling, run Python and bash pickers, and mint the routing App token (
GLAEDA_ROUTE_APP_KEY), whichpick-nightly-build-runneralready mints on these runners (sameci-routing-agentenvironment). No new secret goes to a new runner class. - Both get
portable-checksentries in.github/runners.jsonmacos_jobs and leaveBLACKSMITH_LINUX_ONLY_DEBT. - The sign picker's last route is now the literal
'blacksmith-4vcpu-ubuntu-2404', which is what itsfromJSON('[...]')[0]evaluated to. The routing-table guard requires a literal Blacksmith Linux fallback.
Performance
| metric | before | after | delta | harness |
|---|---|---|---|---|
| pick-nightly-sign-runner queue | 5-14 min on blacksmith-16vcpu-ubuntu-2404 (run 41374257749) | seconds on an idle reservation runner; measured on the first run after merge | up to -14 min | job timings |
Tests: test_nightly_trusted_routing, test_ci_nightly_off_blacksmith, test_runner_routing_table, test_runner_label_policy and test_ci_linux_single_size pass.
Agent session: agent session
š¤ Generated with Claude Code