Using AtomGit Hosted Runners
This document introduces the three-part tag system for official hosted Runners of AtomGit, resource specifications details, and how to specify using them in workflows.
No need to build your own infrastructure. Directly use the official resource pool Runners provided by AtomGit to execute pipeline tasks, suitable for most build, test, and lightweight deployment scenarios.
Configuration Instructions
Official Hosted Runner Tag System
AtomGit Hosted Resource Pool uses a three-part tag format:
{os-version},{arch},{flavor}
| Segment | Meaning | Optional Values |
|---|---|---|
os-version | Operating System | ubuntu-latest, euler-latestNote: AtomGit Runner supports the following abbreviations default: [ubuntu-latest, x64, small]ubuntu-latest: [ubuntu-latest,x64,small]euler-latest: [euler-latest,x64,small] |
arch | CPU Architecture | x64, arm64 |
flavor | Resource Specifications | slim, small, medium, large, xlarge, 2xlarge |
Resource Specifications Details
| Specification | CPU | Memory | Applicable Scenarios | Tag Example |
|---|---|---|---|---|
| slim | 1 Core | 4 GB | Light Checks (lint, syntax check) | [ubuntu-latest, x64, slim] |
| small | 2 Cores | 8 GB | Daily Builds, Small Project Testing | [ubuntu-latest, x64, small] |
| medium | 4 Cores | 16 GB | Medium Project Compilation, Integration Testing | [ubuntu-latest, x64, medium] |
| large | 8 Cores | 32 GB | Large Project Build, Image Packaging | [ubuntu-latest x64, large] |
| xlarge | 16 Cores | 64 GB | Heavy Compilation, Parallel Test Matrix | [ubuntu-latest, x64, xlarge] |
| 2xlarge | 32 Cores | 128 GB | Extreme Tasks, Large-Scale Parallelism | [ubuntu-latest, x64, 2xlarge] |
Tip: To ensure a ready-to-use build environment, some system tools and runtimes have been pre-installed in the Runner, so the actual disk space available will be slightly less than the disk size indicated in the documentation.
Specify Runner in Workflow
# .gitcode/workflows/build.yml
stages:
lint:
name: Code Check
jobs:
name: code-check
runs-on: [ubuntu-latest, x64, slim] # Use slim for light tasks
steps:
- name: Run lint
run: npm run lint
build:
name: Build
jobs:
name: compile
runs-on: [ubuntu-latest, x64, medium] # Use medium for medium compilation
steps:
- name: Run build
run: make build
package:
name: Package
jobs:
name: docker-build
runs-on: [ubuntu-latest, x64, large] # Use large for image packaging
steps:
- name: Run dcker build
run: docker build -t myapp .
Using the Default Tag
runs-on: default is a shortcut tag for AtomGit Action, equivalent to:
runs-on: [ubuntu-latest, x64, small]
That is, it defaults to the latest Ubuntu, x64 architecture, and small specification (2 cores, 8G).
jobs:
simple-test:
name: simple-test
runs-on: default
steps:
- name: Run pytest
run: pytest
Multiple Tag Matching
runs-on can specify multiple tags; the Runner must meet all tags to be selected:
jobs:
arm64-build:
name: arm64-build
runs-on: [ubuntu-latest arm64, medium]
steps:
- name: Run build
run: make build ARCH=arm64
Pre-installed Tools on Hosted Runners
| Tool Category | Pre-installed Content |
|---|---|
| Language Toolchain | Python 3.x, Node.js 18/20, Go 1.21+, Java 11/17/21 |
| Build Tools | Make, CMake, Maven, Gradle, npm, pip |
| Version Control | Git, git-lfs |
Note: The version of pre-installed tools may change with updates to the Runner image. If a fixed version is required, it is recommended to explicitly install it in the step or use the
containerfield to specify a custom image.