Runner Image and Pre-installed Tools
6.1 Runner Tag System
AtomGit Action Runner uses a three-part tag format: {os-version},{arch},{flavor}
| Tag Segment | Description | Example Values |
|---|---|---|
| os-version | Operating System and Version | ubuntu-24, windows-2022 |
| arch | CPU Architecture | x64, arm64 |
| flavor | Resource Specification | slim, small, medium, large, xlarge, 2xlarge |
Common Tag Examples:
| Tag | Description |
|---|---|
{ubuntu-24,x64,small} | Ubuntu 24.04 / x64 / 2 cores 8G 50G |
{ubuntu-24,x64,medium} | Ubuntu 24.04 / x64 / 4 cores 16G 100G |
{ubuntu-24,x64,large} | Ubuntu 24.04 / x64 / 8 cores 32G 200G |
{ubuntu-24,arm64,medium} | Ubuntu 24.04 / ARM64 / 4 cores 16G 100G |
6.2 Resource Specification Table
| Specification | CPU | Memory | System Disk | Applicable Scenario |
|---|---|---|---|---|
slim | 1 core | 4GB | 20GB | Lightweight checks, lint, small scripts |
small | 2 cores | 8GB | 50GB | Regular CI builds, unit tests |
medium | 4 cores | 16GB | 100GB | Medium-sized project builds, integration tests |
large | 8 cores | 32GB | 200GB | Large project builds, performance tests |
xlarge | 16 cores | 64GB | 500GB | Large-scale parallel builds, heavy computing |
2xlarge | 32 cores | 128GB | 1TB | Extremely heavy computing, big data processing |
Specification Selection Recommendation: The default recommendation is the
smallspecification (2 cores 8G 50G), which can meet most CI/CD scenarios. Choose higher specifications only when there are clear performance requirements.
6.3 Pre-installed Tools on Ubuntu 24.04
| Category | Tool | Version/Description |
|---|---|---|
| Languages and Runtimes | Python | 3.10, 3.11, 3.12 |
| Node.js | 18, 20, 22 | |
| Go | 1.21, 1.22, 1.23 | |
| Java (JDK) | 8, 11, 17, 21 | |
| Ruby | 3.1, 3.2, 3.3 | |
| PHP | 8.1, 8.2, 8.3 | |
| Rust | latest stable (via rustup) | |
| .NET | 6.0, 7.0, 8.0 | |
| Build Tools | Maven | 3.9.x |
| Gradle | 8.x | |
| npm | bundled with Node.js | |
| pip | bundled with Python | |
| yarn | 1.22+ | |
| pnpm | 8.x | |
| CI Tools | Git | 2.x |
| curl / wget | latest | |
| jq | 1.7+ | |
| yq | 4.x | |
| shellcheck | 0.9+ | |
| Cloud Tools | kubectl | latest |
| helm | 3.x | |
| aws-cli | 2.x | |
| Package Management | apt | Default on Ubuntu 24.04 |
| brew | Linuxbrew (optional) |
6.5 Self-hosted Runner (self-hosted)
In addition to cloud-hosted Runners, AtomGit Action supports self-hosted Runners, which can be specified using the self-hosted tag combination in runs-on:
runs-on:
- self-hosted
- linux
- x64
- my-group # Runner group name
- custom-label # Custom label
Self-hosted Tag Combination Rules:
- Must include the
self-hostedtag - Can attach a
group(Runner group name, used to distinguish Runners of different teams/environments) - Can attach custom
labels(such asgpu,high-mem,arm64, etc.) - Runner matching rules: The
runs-ontag list of a Job must be a subset of the Runner's registered tags
# Runner image and pre-installed tools
runs-on: [self-hosted, linux]
# Match a Runner with self-hosted + my-group + gpu
runs-on: [self-hosted, my-group, gpu]
# Match a specific specification within a specific group
runs-on: [self-hosted, group-deploy, x64, large]