Runner Images
What's preinstalled on Tenki Linux and macOS runner images, how we build them with Packer and VMs, and how to request custom images.
This page describes what's on a Tenki runner image out of the box, how we build them, and how custom images work.
Linux x64 default image
Tenki Linux x64 runners use the official GitHub Actions runner images maintained at actions/runner-images. The default image is Ubuntu 24.04.
Practical consequence: anything that runs on GitHub-hosted ubuntu-latest runs on Tenki Linux runners with no changes. The toolchains (Node, Python, Ruby, Java, Go, Rust, Docker, gcloud, AWS CLI, fastlane, Android SDK + NDK, etc.) are identical to GitHub's, on the same version cadence. The actions/runner-images software list is the authoritative manifest.
macOS default image
Tenki macOS Runners use a curated image based on macOS 15 Sequoia with the toolchain we recommend for iOS, macOS app, and cross-platform builds. For Xcode version pinning and macOS-specific options, see macOS Runners.
How we build images
Both Linux and macOS images are built with Packer and run as VM-based images on our fabric. Image builds are reproducible, cold boot takes about 15 seconds, and refreshes follow a predictable cadence.
Custom images
We support fully custom images for both Linux x64 and macOS. Typical use cases:
- Internal SDKs, proprietary tooling, or licensed dependencies that can't live in a public registry
- A specific Xcode / simulator matrix that needs to be locked in
- Pre-warmed caches for very large monorepos
Custom images are scoped during onboarding and tied to committed capacity. To start the conversation, or to get the exact tool/version manifest of a current image, email hello@tenki.cloud.