Choosing Runner Tags
Applicable Scenarios: When you need precise control over which Runner a job runs on — specifying operating system, architecture, resource specifications, or custom features (GPU, specific toolchains) — it is necessary to understand the tag matching rules.
Configuration Description
Tag Type Comparison
| Runner Type | Tag Format | Example |
|---|---|---|
| Official Managed | Three-part {os},{arch},{spec} or combined tags | {ubuntu-24,x64,small} |
| Official Managed (Default) | default | default (equivalent to [ubuntu-latest, x64, small]) |
| Self-Hosted | self-hosted + custom tags | [self-hosted, linux, gpu] |
Matching Rules
Rule One: Full Match
All tags in runs-on must be present in the Runner's tag set to be considered a match.
# Choosing Runner Tags
# ✅ Match
runs-on: [self-hosted, linux, x64]
# ✅ Match
runs-on: [self-hosted, npu, cann]
# ❌ No match (missing macos)
runs-on: [self-hosted, pypto]
Rule Two: Default Equivalence
runs-on: default is equivalent to runs-on: [ubuntu-latest, x64, small].