Every runner instance is launched from an image. Sprinters provides a set of pre-built images for you to use.
These images are split across three dimensions: OS, Arch and Variant.
You have the choice between Ubuntu 24.04 and Ubuntu 22.04.
Both are LTS releases, but unless you have a specific need to use Ubuntu 22.04, you should prefer Ubuntu 24.04 as the versions of the packages in its apt repositories are newer and Canonical will support it farther into the future.
You have the choice between x64 and arm64.
x64 has broader compatibility at this point, but if your workload permits it, switching to arm64 -arm
images can enable you to use instances with a better price/performance ratio.
On AWS, the smaller the image, the faster the instance boots and the lower the EBS costs are.
All Sprinters images are fully optimized for this by using a read-only zstd-compressed root volume.
You can, however, trade installed software for performance by using one of the three variants Sprinters provides for each image: Full, Slim and Minimal.
Full images are 100% identical to the equivalent images on GitHub-hosted runners.
Slim images are identical to full images, but without Android, CodeQL, Haskell and Julia.
If you aren’t using these tools, you should use -slim
images without hesitation.
They are otherwise identical to full images, boot slightly faster and have much lower EBS costs.
Minimal images only contain Git, Git LFS, the GitHub CLI and Docker.
If you set up your own environment by downloading the tools you use directly, installing apt
packages or
using setup actions like actions/setup-xyz
, you are ready to take things to their natural conclusion and go for our -minimal
images.
They are less than 1 GiB in size, boot very fast and have very low EBS costs. We highly recommend you give them a try.
In every supported AWS region, Sprinters offers the following images:
Image | Variant | Size | Boot time |
---|---|---|---|
ubuntu-24.04 ubuntu-latest |
Full | 12 GiB | 25-55s |
ubuntu-24.04-slim |
Slim | 7 GiB | 20-40s |
ubuntu-24.04-minimal |
Minimal | 1 GiB | 10-18s |
Image | Variant | Size | Boot time |
---|---|---|---|
ubuntu-24.04-arm |
Full | 7 GiB | 20-40s |
ubuntu-24.04-arm-slim |
Slim | 5 GiB | 18-35s |
ubuntu-24.04-arm-minimal |
Minimal | 1 GiB | 10-18s |
Image | Variant | Size | Boot time |
---|---|---|---|
ubuntu-22.04 |
Full | 13 GiB | 25-55s |
ubuntu-22.04-slim |
Slim | 8 GiB | 21-41s |
ubuntu-22.04-minimal |
Minimal | 1 GiB | 10-18s |
Image | Variant | Size | Boot time |
---|---|---|---|
ubuntu-22.04-arm |
Full | 7 GiB | 20-40s |
ubuntu-22.04-arm-slim |
Slim | 6 GiB | 19-38s |
ubuntu-22.04-arm-minimal |
Minimal | 1 GiB | 10-18s |
All images are updated as soon as GitHub updates its images for GitHub-hosted runners. This usually happens every week or two.
If not explicitly specified, a job will use the ubuntu-latest
image, which is an alias for the ubuntu-24.04
image (Ubuntu 24.04 x64 full variant).
To use a different image, simply append its name to the label:
runs-on: sprinters:aws:ubuntu-24.04-minimal
This job will now use the ubuntu-24.04-minimal
image.