Skip to content

Migration guides

Migrate from GitHub-hosted runners to runnerhut

The exact change to move your workflows from GitHub-hosted runners — and the change to move back, so you can evaluate without committing.

What GitHub-hosted runners does well

  • Zero configuration — nothing to install, nothing to trust
  • Billing already consolidated on your GitHub invoice
  • Native arm64 and larger runner sizes on paid plans
  • Backed by GitHub's own support and status page

Where we differ

  • Roughly twice the per-minute price of runnerhut on every OS
  • No EU-only residency for Actions compute, cache and logs — GitHub is a US-headquartered Microsoft subsidiary
  • Cache is capped at 10 GB per repository and evicted aggressively
  • Cache restore is throttled — large caches often take minutes
  • Standard runners use shared vCPU with noisy-neighbour variance
  • Docker layer cache has to be rebuilt or shipped to a registry yourself
  • No cross-workflow cache sharing and no cache analytics
GitHub-hosted runnersrunnerhut
Price per Linux minute$0.0080$0.0040 — 50% less
EU-only data residencyNot offered for Actions computeSix EU regions
SetupNoneOne line in runs-on
Cache size10 GB per repoUnlimited, per org
Cache bandwidthThrottled1 GB/s NVMe
Docker layer cacheBring your ownPersistent, automatic
arm64Paid plansAll plans, 20% cheaper
Cross-workflow cacheNoYes
CI analyticsBasicPer-job cost and duration
Compiled from each vendor's public documentation, August 2026.

The migration

yaml
jobs:
build:
- runs-on: ubuntu-latest
+ runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
One line. Every other line of your workflow is untouched.

And the migration back

We publish this because after BuildJet's shutdown, "what if you disappear" is a fair question. Leaving is the same single line you changed to arrive.

yaml
jobs:
build:
- runs-on: runnerhut-8vcpu-ubuntu-2404
+ runs-on: ubuntu-latest

Checklist

  1. Install the runnerhut GitHub App on the repositories you want to move
  2. Change runs-on in one job first and compare timings against the old runner
  3. Add runner.arch to cache keys if you are also moving to arm64
  4. Roll out to the rest of the repository once the comparison looks right
  5. Set a budget cap and concurrency cancellation before going organisation-wide

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.