GitLab "no runners with matching tags" - Tag Mismatch
Runners are online, but none carry the exact tag set this job requires. GitLab matches jobs to runners by tag, and an empty intersection means the job waits.
What this error means
The job stays pending with a banner listing the required tags and noting no runner matches all of them. Other jobs in the same project run fine - only the tagged one is stuck.
This job is stuck because you don't have any active runners online or available with any of these tags assigned to them: gpu, cudaCommon causes
Job tags not present on any runner
A job with tags: [gpu, cuda] only runs on a runner carrying both tags. If no online runner has them, it never starts.
Tag typo or case mismatch
Runner tags are exact strings. Docker vs docker, or arm-64 vs arm64, will not match.
How to fix it
Align job tags with a runner
Set the job’s tags to a set an online runner actually carries.
build:
tags:
- docker # must exactly match a runner's tag
script: make buildAdd the tag to a runner or allow untagged
- In the runner’s settings, add the missing tag, or enable "Run untagged jobs".
- Confirm the runner is online and the tag spelling matches exactly.
- Re-run the job; it should pick up immediately.
How to prevent it
- Document the tag vocabulary for your runner fleet.
- Keep job tags minimal and consistent with available runners.
- Allow untagged jobs on a general-purpose runner as a fallback.