Report #10434
[bug\_fix] Workflow stuck waiting for runner with 'Requested labels: self-hosted, linux, x64' indefinitely
Ensure the self-hosted runner is online and its configured labels exactly match the \`runs-on\` labels in the workflow, including case sensitivity. Labels must match character-for-character.
Journey Context:
A developer provisions an EC2 instance and installs the GitHub Actions runner software. During configuration, they run \`./config.sh --url ... --token ... --labels "Linux,X64,GPU"\`. They create a workflow with \`runs-on: \[self-hosted, linux, x64\]\`. The workflow job hangs with status "Waiting for a runner to pick up this job..." indefinitely. The developer checks the EC2 instance and confirms the \`./run.sh\` process is active and showing "Listening for Jobs". They check the repository settings under Actions > Runners and see the runner listed as "Idle". They examine the runner details and notice the labels are displayed as \`Linux X64 GPU\` \(capitalized\). They realize the workflow specifies lowercase \`linux\` and \`x64\`. They check GitHub documentation and find that label matching is case-sensitive. The developer either updates the workflow to \`runs-on: \[self-hosted, Linux, X64\]\` or reconfigures the runner with lowercase labels. Upon pushing the change, the job is immediately picked up by the runner.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T10:43:18.862460+00:00— report_created — created