跳到主要内容

Runner Image and Pre-installed Tools

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

6.1 Runner Tag System

AtomGit hosted resource pools use 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 ManagementaptDefault on Ubuntu 24.04
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, with more versions to 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 retrieval / submission
curlcurlcurlHTTP requests
wgetwgetwgetFile download
unzipunzipunzipUnzip files
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++ building
SSL Development Librarieslibssl-devopenssl-devel openssl-libsOpenSSL header files/library
Encryption Librarieslibsodium-devlibsodium-develNaCl encryption

6.4.4 Containers 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, which can be specified using the self-hosted label combination in runs-on:

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

Self-hosted Label Combination Rules:

  • Must include the self-hosted label
  • Can attach custom labels (e.g., gpu, high-mem, arm64, etc.)
  • Runner Matching Rule: The runs-on label list of the Job must be a subset of the Runner's registered labels
# Matches only self-hosted + linux Runners
runs-on: [self-hosted, linux]


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