RunsOn for GitHub Actions
Self-hosted GitHub Actions runners on AWS with 10x cost savings
RunsOn provides self-hosted GitHub Actions runners deployed entirely within your AWS account. It offers the ephemeral runner experience of GitHub-hosted runners at substantially lower cost while maintaining complete data sovereignty and security.
Why RunsOn?#
Cost savings
RunsOn delivers significant savings compared to GitHub-hosted runners. A 2-CPU Linux instance costs approximately $0.0011 per minute on RunsOn versus GitHub's $0.0080 per minute—roughly 7x cheaper using spot pricing. Larger configurations show even greater advantages.
| Instance | RunsOn (Spot) | GitHub-hosted | Savings |
|---|---|---|---|
| 2-CPU Linux | $0.0011/min | $0.0080/min | ~7x |
| 4-CPU Linux | $0.0019/min | $0.0160/min | ~8x |
| 64-CPU Linux | $0.0147/min | $0.2560/min | ~17x |
Full control
- 100% self-hosted within your AWS account
- No external control plane dependency
- Code, secrets, and logs remain in your VPC
- No third-party access required
Performance
- Blazing fast cache downloads via Amazon S3 endpoint
- S3-integrated caching with unlimited storage
- NVMe storage options
- Consistent, fast boot times under 10 seconds with warm pools
Flexibility
- Support for 1 to 896 vCPU instances
- Compatible with x64, ARM64, and GPU instance types
- Access to any AWS EC2 instance
- Spot and on-demand pricing options
- Linux and Windows support
How it works#
RunsOn deploys a lightweight management layer in your AWS account using CloudFormation. When a GitHub Actions workflow requests a RunsOn runner:
- The RunsOn controller receives the job request
- A new EC2 instance launches with your specified configuration
- The job executes on the ephemeral instance
- The instance terminates after the job completes
This ephemeral model provides the same security guarantees as GitHub-hosted runners—each job runs on a fresh machine with no residual data from previous jobs.
Quick start#
Replace your existing runs-on label with a RunsOn configuration:
1# Before2jobs:3 build:4 runs-on: ubuntu-latest56# After7jobs:8 build:9 runs-on: runs-on=${{ github.run_id }}/runner=2cpu-linux-x64Runner types#
RunsOn supports multiple runner configurations:
Linux x64
- 1-64 vCPUs available
- Ubuntu 22.04 and 24.04 images
- Instance families: m7a, m7i, c7a, c7i
Linux ARM64
- 1-64 vCPUs available
- Graviton-based instances
- Instance families: m7g, c7g
Windows
- x64 architecture
- Windows Server images
- Full Visual Studio support
GPU
- NVIDIA and AMD GPU instances
- CUDA and ROCm support
- ML/AI workload optimized
Pricing#
RunsOn uses a simple pricing model:
| License | Cost | Features |
|---|---|---|
| Demo | Free (15 days) | Full features, email support |
| Commercial | €300/year | Full features, email support |
| Sponsorship | €1,500/year | Priority support, source code access, private Slack |
Non-profit organizations qualify for complimentary licenses.
Beyond the license fee, you pay AWS directly for:
- RunsOn stack infrastructure: $1.50–$5/month
- EC2 compute: Billed per-second after first minute
- Storage and networking: Variable based on usage