跳到主要内容

Runner Image and Pre-installed Tools

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

6.1 Runner Tag System​

AtomGit hosted resource pool uses a three-part tag format: [{os-version},{arch},{flavor}]

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

Common Tag Examples:

TagDescription
[ubuntu-latest, x64, small]Ubuntu 24.04 / x64 / 2 cores 8G 50G
[ubuntu-latest, x64, medium]Ubuntu 24.04 / x64 / 4 cores 16G 100G
[ubuntu-latest, x64, large]Ubuntu 24.04 / x64 / 8 cores 32G 200G
[ubuntu-latest, 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 testing
xlarge16 cores64GB500GBLarge-scale parallel builds, heavy computing
2xlarge32 cores128GB1TBExtremely heavy computing, big data processing

Recommended Specification: The default recommendation is small (2 cores 8G 50G), which can meet most CI/CD scenarios. Choose higher specifications only when there are clear performance requirements.
Tip: To ensure the build environment is ready to use out of the box, some system tools and runtimes have been pre-installed in the Runner, so the actual available disk space will be slightly less than the disk size indicated in the document.

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-latestUbuntu 24.04.x LTS6.8+x64 / arm64apt / dpkg2029-04 EOL
euler-latestopenEuler 25.03 LTS6.6+x64 / arm64dnf / rpm2030-xx EOL

OS can also be described using ubuntu-latest, where "latest" refers to the currently supported latest 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
sudosudosudoElevate privileges for CI tasks
gitgitgitCode pull / commit
curlcurlcurlHTTP requests
wgetwgetwgetFile download
unzipunzipunzipUnzip
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 Librarylibsodium-devlibsodium-develNaCl encryption

6.4.4 Containers and Cloud Native​

ToolVersion/SourceInstallation LocationPurpose
Kanikov1.23.2 (gcr.io/kaniko-project/executor)/usr/local/bin/kanikoDaemonless container image building
Docker CLILatest dynamic 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, which can be 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 attach 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]