跳到主要内容

Choosing Runner Tags

This document introduces the tag type comparison between official managed Runners and self-hosted Runners, as well as two matching rules: full match and default equivalence.

When you need to precisely control on which type of Runner a job runs - specifying operating system, architecture, resource specifications, or custom features (GPU, specific toolchains) - you need to understand the tag matching rules.

Configuration Description

Tag Type Comparison

Runner TypeTag FormatExample
Official ManagedThree-part {os},{arch},{spec} or combined tags{ubuntu-24,x64,small}
Official Managed (Default)defaultdefault (equivalent to [ubuntu-latest, x64, small])
Self-Hostedself-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 for it to be considered a match.

# Runner Tag Set: {self-hosted, linux, x64, npu, cann}
# ✅ 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].