GitHub Actions are pretty damn cool, but lord knows the official runners are slow, unreliable, and expensive. Self-hosted runners are typically championed as the better alternative, but they're also a pain to set up and maintain and they come with important security concerns.
It doesn't have to be one or the other. Most people don't know this, but there's quite a few third-party GH Actions runner services out there, most of which require no changes at all to your CI workflows. These are easy to migrate to, much cheaper than official runners, and often faster.
Namespace provides development environments, remote builders, ephemeral environments, managed CI runners, and more. It also supports BuildKite1.
Pricing here.
Notable features:
- 1-line change to get faster and cheaper builds in most projects.
- Up to 250GiB disk storage and terabytes of cache, considerably more than both BuildJet and GitHub official runners.
- High-performance caching via mounted volumes backed by local storage. This is a separate API from
actions/cache
, but much faster and more reliable. - Built-in observability for CPU, memory, and storage usage. Streams and retains Docker container logs in addition to runner logs. Remote terminal (SSH) access.
- Dedicated high-performance remote Docker builders with zero-configuration incremental caching, ARM support, and more.2
- Supports ephemeral previews running on runners as well as separate instances, based on Docker3 or Kubernetes4.
- macOS runners on Apple Silicon (M2).
- Custom base images support.
- (Coming soon) Windows support (Q1 2024). π§
- (Coming soon) SOC2 compliance (Q1 2024). π§
BuildJet offers managed performance runners for GitHub Actions.
Pricing here.
Notable features:
- 1-line change to get faster and cheaper builds in most projects.
- 64GiB disk storage5 and 20GiB free cache per repository6 via
buildjet/cache
(as opposed to 16GiB disk storage and 10GiB free cache per repository in GitHub official runners). - ARM support.7
- Built-in support for
Swatinem/rust-cache
viabackend: buildjet
. - In some cases cache download and upload speeds have been reported to be quite bad, slowing down builds8.
β οΈ - (Coming soon) SOC2 compliance.9 π§
Actuated brings fast and secure GitHub Actions to your own infrastructure. It's a more ops-heavy solution compared to fully managed runners, but this comes with significant benefits and attractive pricing.
Pricing here.
Notable features:
- Native ARM support.10
- Runs directly within your own datacenter, which is useful if you work with large container images or datasets.
- Live debug stuck jobs over SSH.11
- Flat-rate billing based on the maximum allowed number of concurrent jobs, so the cost stays the same no matter how many minutes you use.
- Cool development blog showcasing many kinds of demoes, examples, and guides.12
WarpBuild offers high performance runners for GitHub Actions, made by the creators of Argonaut.
Pricing here.
Notable features:
- 1-line change to get faster and cheaper builds in most projects.13
- Support for x86-64 and ARM runners with unlimited concurrency.
- Live debug failed jobs over SSH.14
- Discounts for open-source projects and young startups, and referral programs to get extra minutes.15
- Support for macOS runners on M2 Pros.16
- (Coming soon) Automated container layer caching and AI powered analytics (~Q1 2024). π§
Blacksmith provides high-performance runners for GitHub Actions that run up to twice as fast as GitHub's official runners at half the cost. Founded by ex-engineers at Cockroach Labs and Faire.
Pricing here.
Notable features:
- 1-line change to get faster and cheaper builds in most projects, as well as a "Migration Wizard" which can automatically migrate multiple workflow files at once.1718
- 64GiB disk storage19 and 25GiB high-speed cache per repository via
useblacksmith/cache@v5
. - Docker local registry mirror which caches Docker images and prevents customers from getting rate limited by Docker Hub.20
- SOC2 Type 1 Compliant 21
- 3000 free minutes per month.22
- (Coming soon) ARM runners. π§
- (Coming soon) Workflow insights to help customers break down spending and performance across workflows. π§
Ubicloud brings IaaS solutions to bare metal servers, but it also offers a managed platform. GitHub Actions runners are part of this offering. It doesn't seem to have any feature that other providers lack, but it has one of the most attractive pricing plans in the market.
Pricing here.
Notable features:
- 1-line change to get faster and cheaper builds in most projects.23
- By far one of the cheapest providers at about ~10x cheaper than official GH Actions runners.23
- 1250 free minutes per month.24
- Native ARM support.25
- Open source under the GNU AGPL v3.0 license.26
RunsOn is a self-hosted, open-source GitHub Actions runner tool that runs on your own AWS account. It's free for non-commercial usage, and comes at a β¬300 flat yearly fee for commercial projects.
Pricing here.
Notable features:
- 1-line change to get faster and cheaper builds in most projects.
- Easy install with a CloudFormation template (video guide available).
- Cheap, flat-rate pricing with an easy-to-use pricing calculator that you can use to calculate your spending.
- ARM, GPU, and custom base image support.
- Up to 256 vCPUs per runner, by far the most of any provider, and customizable disk sizes and instance types.
- Although actively maintained and developed as of Feb. '24, it's built by just one developer (Cyril Rohr), so long-term maintenance is a concern.
β οΈ
Cirun is a tool which lets you create on-demand self-hosted GitHub Actions runners on your cloud. After connecting your cloud provider of choice, it's simple to set up and cheap to run.
Pricing here.
Notable features:
- 1-line change to get faster and cheaper builds in most projects.27
- Free for public repositories!
- Cheap, flat-rate pricing based on the number of private repositories you run Cirun on.
- ARM support.
- GPU support.28
- Support for all major cloud providers.29
- Built by just one developer (Amit Kumar) in their spare time, so long-term maintenance is a concern.
β οΈ
If you're interested in going down the self-hosted runner route, make sure to check out the tooling listed in jonico/awesome-runners
!
If you'd like to add a service to this list or suggest any changes, please open a PR! The list is intentionally opinionated based on pricing and features, but I strive to be reasonable and impartial.
Footnotes
-
https://namespace.so/docs/features/on-demand-buildkite-agents β©
-
https://buildjet.com/for-github-actions/docs/runners/hardware#runner-disk β©
-
https://buildjet.com/for-github-actions/docs/guides/migrating-to-buildjet-cache β©
-
https://buildjet.com/for-github-actions/docs/guides/migrating-to-arm β©
-
https://buildjet.com/for-github-actions/docs/about/security#is-build-jet-soc-2-compliant β©
-
https://actuated.dev/blog/native-arm64-for-github-actions β©
-
https://docs.warpbuild.com/runners#macos-m2-pro-on-arm64 β©
-
https://docs.blacksmith.sh/feature-spotlight/docker-pull-through-mirror β©
-
https://blacksmith.sh/blog/blacksmith-is-soc2-type-1-compliant β©
-
https://www.ubicloud.com/docs/github-actions-integration/price-performance β© β©2
-
https://www.ubicloud.com/blog/ubicloud-hosted-arm-runners-100x-better-price-performance β©
-
https://github.com/ubicloud/ubicloud/blob/main/routes/web/webhook/github.rb β©