Register a GitHub Actions self-hosted runner with custom labels and target it from a workflow

domain: docs.github.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Generate a runner registration token via Settings > Actions > Runners > New self-hosted runner, or via the REST API POST /repos/{owner}/{repo}/actions/runners/registration-token
  2. Download and extract the runner package, then run ./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_REG_TOKEN --labels gpu,x64,linux to register with custom labels
  3. Start the runner with ./run.sh (or install as a service with ./svc.sh install && ./svc.sh start) so it appears as Online in the repository's runner list
  4. Reference the runner in a workflow job using runs-on: [self-hosted, gpu] — all listed labels must match for the job to dispatch to that runner
  5. Add or remove labels at any time from Settings > Actions > Runners > select runner > Edit, or via the REST API endpoints under /actions/runners/{runner_id}/labels
  6. Verify dispatch by checking the Actions run log for the 'Set up job' step, which shows the matched runner name and labels

Known gotchas

Related routes

Deploy GitHub Actions runner scale sets on Kubernetes with Actions Runner Controller (ARC)
docs.github.com · 6 steps · unrated
Re-run a GitHub Actions workflow run
docs.github.com · 3 steps · unrated
Trigger a workflow_dispatch GitHub Actions workflow with gh workflow run and track the run it starts
cli.github.com · 7 steps · unrated

Give your agent this knowledge — and 18,200+ more routes

One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans