跳到主要内容

Runner Image and Pre-installed Tools

This document is the complete reference for AtomGit Action Runner tag system, resource specifications, and pre-installed tool list, as well as configuration instructions for self-hosted Runners.

6.1 Runner Tag System

AtomGit Action Runner uses a three-part tag format: {os-version},{arch},{flavor}

Tag SegmentDescriptionExample Values
os-versionOperating System and Versionubuntu-24, windows-2022
archCPU Architecturex64, arm64
flavorResource Specificationslim, small, medium, large, xlarge, 2xlarge

Common Tag Examples:

TagDescription
{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

SpecificationCPUMemorySystem DiskUse Case
slim1 core4GB20GBLightweight checks, lint, small scripts
small2 cores8GB50GBRegular CI builds, unit tests
medium4 cores16GB100GBMedium project builds, integration tests
large8 cores32GB200GBLarge project builds, performance tests
xlarge16 cores64GB500GBLarge-scale parallel builds, heavy computing
2xlarge32 cores128GB1TBExtremely heavy computing, big data processing

Specification Selection Recommendation: The default recommendation is small specification (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

CategoryToolVersion/Description
Languages and RuntimesPython3.10, 3.11, 3.12
Node.js18, 20, 22
Go1.21, 1.22, 1.23
Java (JDK)8, 11, 17, 21
Ruby3.1, 3.2, 3.3
PHP8.1, 8.2, 8.3
Rustlatest stable (via rustup)
.NET6.0, 7.0, 8.0
Build ToolsMaven3.9.x
Gradle8.x
npmbundled with Node.js
pipbundled with Python
yarn1.22+
pnpm8.x
CI ToolsGit2.x
curl / wgetlatest
jq1.7+
yq4.x
shellcheck0.9+
Cloud Toolskubectllatest
helm3.x
aws-cli2.x
Package ManagementaptUbuntu 24.04 default
brewLinuxbrew (optional)

6.4 Official Resource Pool Image OS Version Support Matrix

OS Definition in YAMLOS SourceKernelArchitecturePackage ManagerLifecycle
ubuntu-24.04Ubuntu 24.04.x LTS6.8+x64 / arm64apt / dpkg2029-04 EOL
euler-25.03openEuler 25.03 LTS6.6+x64 / arm64dnf / rpm2030-xx EOL
ubuntu-latestubuntu-24.04Same as aboveSame as aboveSame as aboveFollows latest GA
euler-latesteuler-25.03Same as aboveSame as aboveSame as aboveFollows latest GA

OS can also be described using ubuntu-latest, where 'latest' refers to the current latest supported OS version. Currently, only one version is supported per OS type, and more will be added gradually.

6.4.1 Basic System Tools

ToolUbuntu (apt)openEuler (dnf)Purpose
locales / glibc-all-langpackslocalesglibc-all-langpacksUTF-8 (en_US.UTF-8) support
sudosudosudoPrivilege escalation for CI tasks
gitgitgitCode pull / commit
curlcurlcurlHTTP requests
wgetwgetwgetFile download
unzipunzipunzipZIP decompression
zipzipzipCreate ZIP packages
tartartarArchiving
ca-certificatesca-certificatesca-certificatesHTTPS trust chain
gnupggnupggnupgGPG verification
jqjqjqJSON parsing
bash-completionbash-completionbash-completionCommand completion
openssh-client / openssh-clientsopenssh-clientopenssh-clientsSSH client

6.4.2 Programming Language Runtimes

RuntimeUbuntu VersionEuler VersionPath
Pythonpython3 (system 3.12)python3 (system)System PATH
pippython3-pippython3-pipSystem PATH
Java JDKopenjdk-17-jdkjava-17-openjdk-develSystem PATH
Node.jsv16.20.2 (Gallium LTS)v16.20.2 (Gallium LTS)${HOME}/runner/externals/node16

6.4.3 Compilation Toolchain

ToolUbuntu (apt)openEuler (dnf)Purpose
C/C++ Compilerbuild-essentialgcc gcc-c++ makeProvides gcc / g++ / make
Build ToolscmakecmakeC++ build
SSL Development Librarieslibssl-devopenssl-devel openssl-libsOpenSSL headers/libraries
Cryptographic Librarieslibsodium-devlibsodium-develNaCl cryptography

6.4.4 Container and Cloud Native

ToolVersion/SourceInstallation LocationPurpose
Kanikov1.23.2 (gcr.io/kaniko-project/executor)/usr/local/bin/kanikoBuild container images without daemon
Docker CLILatest version (download.docker.com)/usr/bin/dockerCall Docker engine (backup path)
kubectlStable version (dl.k8s.io)/usr/local/bin/kubectlK8s cluster management

6.5 Self-hosted Runner (self-hosted)

In addition to cloud-hosted Runners, AtomGit Action supports self-hosted Runners, specified using the self-hosted tag combination in runs-on:

runs-on:
- self-hosted
- custom-label # Custom label

Self-hosted Tag Combination Rules:

  • Must include the self-hosted tag
  • Can add custom labels (such as gpu, high-mem, arm64, etc.)
  • Runner Matching Rules: The runs-on tag list of the Job must be a subset of the Runner's registered tags
# Matches only self-hosted + linux Runners
runs-on: [self-hosted, linux]

# Matches specific specifications
runs-on: [self-hosted, x64, large]