ARC runnerScaleSetName must match runs-on in CI
With the gha-runner-scale-set model, the scale set name is its Helm installation name, and that name is the only label jobs can target. If runs-on does not equal that name, no runner ever picks up the job.
What this error means
Jobs stay queued because runs-on uses a label that does not match any scale set name. Renaming the scale set install or the label so they are identical routes the jobs.
# scale set installed as: arc-runner-set
# workflow uses a different label, so no runner matches:
jobs:
build:
runs-on: ubuntu-arc # does NOT match arc-runner-setCommon causes
runs-on differs from the installation name
The scale set only accepts jobs whose runs-on equals its name; any other label leaves jobs unmatched.
Assuming multiple labels like hosted runners
Unlike GitHub-hosted runners, an ARC scale set matches on its single name, not an arbitrary label set.
How to fix it
Make the label equal the scale set name
- Decide the scale set name (the Helm release/installation name).
- Set runs-on in every workflow to that exact name.
- Reinstall if you renamed the scale set, then re-run.
helm install arc-linux \
oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set \
-n arc-runners -f values.yaml
# then in the workflow:
# runs-on: arc-linuxStandardize names across teams
Pick scale set names that match the runs-on labels developers already use so no workflow edits are needed.
How to prevent it
- Treat the scale set name as the single source of the runs-on label.
- Document the exact runs-on value per scale set.
- Avoid multi-label assumptions carried over from hosted runners.