Skip to content

Cheaper, faster, simpler self-hosted runners with RunsOn

Your GitHub CI costs are ballooning, or you are fed up with slow build times, so you try self-hosting GitHub Actions runners. But after some setup time, you quickly realize it’s not easy to keep them running at scale, and now jobs are queuing up or building slowly.

Now you try third-party hosted runners, but your security team is concerned about exposing your code and secrets to a third-party, and you’re not sure what to do.

Enter RunsOn, the best way to run GitHub Actions runners on your own AWS infrastructure.

Use cases

Using self-hosted runners with RunsOn can be useful if:

  • your developers are frustrated with long wait times for test suites or compilations;
  • your bill for GitHub runners starts to trigger enquiries from finance;
  • you need runners with a higher number of CPUs / RAM / Disk / Architecture / GPU support, than what GitHub offers.
  • you want runners running in your own AWS account with specific public IPs so that you can whitelist them in external services;
  • you already use a self-hosted runner solution, but need something simpler and maintenance-free.

Reduce your CI/CD costs by up to 90%

RunsOn is on average 10x cheaper than official GitHub Actions runners. This is due to the following choices:

  • No third-party: RunsOn is self-hosted in your AWS infrastructure, so you don’t pay for a middleman, which introduces another SPOF and security risks.
  • Aggressive use of spot instances to reduce costs, reverting to on-demand instances if no spot capacity is found.
  • Simple architecture: runners are only started when there is work to do, and terminated when the work is done. This completely eliminates idle costs usually found in other solutions.

Speed up your CI/CD pipelines

RunsOn has access to the most powerful EC2 instances, resulting in up to 30% faster builds for both x64 and arm64 runners, compared to official runners. You will definitely notice the difference.

Since RunsOn runners are so much cheaper, you can use instances with a higher number of CPUs and more memory for your CI/CD pipelines, resulting in faster builds. Chances are you’ll still be far cheaper than what you would get with an undersized official runner.

Cherry on the cake, RunsOn runners are 1-1 compatible with official GitHub Actions runners, so you can use them as drop-in replacements.

To learn more about performance:

Keep control of your code and secrets

If you’ve tried to self-host your own runners, you know it’s not easy. It requires a lot of time to set up, and you need to manage the runners yourself.

  • with self-hosted runners manually managed, you incur idle costs, and limited concurrency. Since runners are not ephemeral, you are also liable to security issues arising from leftover code or secrets between workflow runs.
  • with something such as action-runner-controller (ARC), you need to pay for a kubernetes cluster, and keeping it operational can be challenging. It’s also not as flexible in terms of dynamic instance selection as what RunsOn provides. Same goes for other solutions such as the Philips Labs terraform module.
  • with third-parties, you need to pay for a middleman, which means you do not save as much as you could, and you need to trust the third-party with your code. Most third-parties also do not provide the advanaced features offered by RunsOn: unlimited and fast caches, SSH access, static IPs, GPUs, and more.

RunsOn has been designed to be radically simple to install and operate, with the most heavy users (> 20k jobs/day) reporting no more than 2h/month to maintain the system. It launches real ephemeral VMs for each job, so you can be sure that every job is fully isolated from the others.

Tried and tested across tens of companies

RunsOn is in production at tens of companies, and has been battle-tested in production since January 2024. It now routinely handles more than 100k jobs/day across all users.

RunsOn runners per day
Runners launched by users over 5 business days.

You can see and modify the code!

RunsOn code source is partly open ↗, with the full source code being available if you buy a sponsorship license. You are even free to modify the source code for your own internal use if you want to.