✕
Skip to main content
Trunk Runners give each GitHub Actions job its own VM, a fast SSD, and a cache near the runner. Your workflows stay on GitHub. You change one line, the 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.