Skip to content

policy: select runners by capability, not location - #6

Merged
thedancingdeveloper merged 1 commit into
mainfrom
ci/capability-labels
Aug 19, 2026
Merged

policy: select runners by capability, not location#6
thedancingdeveloper merged 1 commit into
mainfrom
ci/capability-labels

Conversation

@thedancingdeveloper

Copy link
Copy Markdown
Contributor

The gate ran on [self-hosted, node-b, linux, x64] and, on failure, printed that same selector as the recommended form. That advice is how a location label reached 59 job definitions across 12 repositories — and why proxmox-gha-public-rust and wsl2-gha-public-rust were both busy: false while all three Node B workers were busy and jobs queued at p90 207s / p99 1153s (2026-08-19 development-cycle review).

Enforcement is unchanged: still requires the literal self-hosted, still rejects dynamic runs-on. Only the gate's own selector and the examples it prints have changed, to the labels the fleet actually advertises — publish (Docker daemon), tailnet (Tailnet reachability), or nothing at all for work that runs anywhere.

The gate itself ran on `[self-hosted, node-b, linux, x64]` and, on failure,
told every repository in the organization to do the same. That advice is what
spread a location label into 59 job definitions across 12 repositories, and it
is why proxmox-gha-public-rust and wsl2-gha-public-rust sat idle — both
`busy: false` — while all three Node B workers were busy and jobs queued
behind them at a p90 of 207s and a p99 of 1153s (2026-08-19 review).

What the gate *enforces* is deliberately unchanged: a job must name the
literal `self-hosted`, and dynamic `runs-on` is still rejected. Only the
selector it uses and the examples it prints have changed, to the capability
labels the fleet actually advertises — `publish` for a Docker daemon,
`tailnet` for Tailnet reachability, and nothing at all for work that can run
anywhere.
@thedancingdeveloper
thedancingdeveloper merged commit de1acd7 into main Aug 19, 2026
1 check passed
@thedancingdeveloper
thedancingdeveloper deleted the ci/capability-labels branch August 19, 2026 04:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant