runs-on label, and Trunk starts a fresh VM for the job and removes it when the
job ends.
Trunk Runners is in private beta. Contact
support@trunk.io to join.
Fast
2x faster hardware, 4x faster caches, and templates that skip setup.
Reliable
A managed fleet, with priority for the branches that must stay fast.
Affordable
Pay per CPU and GB minute. Size each job to what it needs.
Fast
- Faster hardware. Jobs run on bare metal with a local SSD: 2x faster than GitHub-hosted runners, and 60% faster than self-hosted runners on AWS.
- Templates. Bake your setup steps into a template so a job starts ready, instead of installing the same tools on every run.
- In-cluster cache.
actions/cache, Bazel, sccache, and Nix use a shared cache in the same cluster as your jobs, with no workflow changes. Downloads are 4x faster than the GitHub Actions cache. See Caching.
Reliable
- No infrastructure to operate. Trunk runs the fleet, images, and caches. No self-hosted runners or controller to maintain.
- Priority branches. Merge queue, default, and release branches start first when CI is busy, so the queue does not wait behind pull request jobs. See Quota and runner priority.
- Nothing dropped. At your CPU quota, new jobs wait and start as CPUs free up.
Affordable
- Usage-based. You pay for the CPUs and memory a job’s machine has while the job runs. The default machine costs $0.006 per minute. See Pricing.
- Right-sized. Mix CPU and memory per job, so a lint job does not pay for a build machine. See Machine sizes.
- Run less CI. Pair with Dynamic CI to skip jobs a change cannot affect.
Get started
Turn on Trunk Runners for your organization and run your first job.