Skip to content
Latchkey

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.

.github/workflows/ci.yml
# 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-set

Common 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

  1. Decide the scale set name (the Helm release/installation name).
  2. Set runs-on in every workflow to that exact name.
  3. Reinstall if you renamed the scale set, then re-run.
Terminal
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-linux

Standardize 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.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →