CI, shockingly cheaper than GitHub's.
Your monthly minutes at GitHub-hosted rates, and on spot instances in your own AWS account with the RunsOn license included.
Start from:
toggle a platform off by setting its minutes to 0
Every size, per minute
GitHub-hosted vs RunsOn $/min for every runner size — across architectures and instance generations. Pick spot or on-demand and set your gp3 root volume to match your setup.
arch generation
pricing gp3 root gb mb/s
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | t8i.medium | $0.0006 | $0.0020 | 3× | 3,244 | 2,269 | +43% |
| 2cpu | m8a.large | $0.0009 | $0.0060 | 7× | 3,812 | 2,269 | +68% |
| 4cpu | m8a.xlarge | $0.0012 | $0.0120 | 10× | 3,812 | 2,269 | +68% |
| 8cpu | c8id.2xlarge | $0.0023 | $0.0220 | 9× | 3,243 | 2,269 | +43% |
| 16cpu | c8id.4xlarge | $0.0034 | $0.0420 | 12× | 3,243 | 2,269 | +43% |
| 32cpu | c8id.8xlarge | $0.0072 | $0.0820 | 11× | 3,243 | 2,269 | +43% |
| 48cpu | c8a.12xlarge | $0.0117 | — | — | 3,799 | — | — |
| 64cpu | c8i-flex.16xlarge | $0.0110 | $0.1620 | 15× | 3,243 | 2,269 | +43% |
| 96cpu | c8id.24xlarge | $0.0199 | $0.2520 | 13× | 3,243 | 2,269 | +43% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8g.medium | $0.0006 | — | — | 1,940 | — | — |
| 2cpu | m8g.large | $0.0009 | $0.0050 | 5× | 1,940 | 1,874 | +4% |
| 4cpu | m8g.xlarge | $0.0014 | $0.0080 | 6× | 1,940 | 1,874 | +4% |
| 8cpu | c8g.2xlarge | $0.0030 | $0.0140 | 5× | 1,947 | 1,874 | +4% |
| 16cpu | c8g.4xlarge | $0.0044 | $0.0260 | 6× | 1,947 | 1,874 | +4% |
| 32cpu | c8g.8xlarge | $0.0067 | $0.0500 | 7× | 1,947 | 1,874 | +4% |
| 48cpu | c8g.12xlarge | $0.0088 | — | — | 1,947 | — | — |
| 64cpu | c8g.16xlarge | $0.0120 | $0.0980 | 8× | 1,947 | 1,874 | +4% |
| 96cpu | c8g.24xlarge | $0.0152 | — | — | 1,947 | — | — |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save |
|---|---|---|---|---|
| 2cpu | m8i.large | $0.0020 | $0.0100 | 5× |
| 4cpu | m8i.xlarge | $0.0037 | $0.0220 | 6× |
| 8cpu | m8i.2xlarge | $0.0071 | $0.0420 | 6× |
| 16cpu | c8i.4xlarge | $0.0138 | $0.0820 | 6× |
| 32cpu | c8i.8xlarge | $0.0273 | $0.1620 | 6× |
| 64cpu | c8i.16xlarge | $0.0544 | $0.3220 | 6× |
| 96cpu | c8i.24xlarge | $0.0814 | $0.5520 | 7× |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save |
|---|---|---|---|---|
| 4cpu·T4 | g4dn.xlarge | $0.0039 | $0.0520 | 13× |
| 8cpu·T4 | g4dn.2xlarge | $0.0050 | — | — |
| 16cpu·A10G | g5.4xlarge | $0.0133 | — | — |
| 48cpu·4×T4 | g4dn.12xlarge | $0.0208 | — | — |
spot prices (7-day average, cheapest zone)
· us-east-1 · gpu families · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | c6i.large | $0.0008 | $0.0060 | 8× | 2,284 | 2,269 | +1% |
| 4cpu | c6i.xlarge | $0.0013 | $0.0120 | 9× | 2,284 | 2,269 | +1% |
| 8cpu | c6i.2xlarge | $0.0023 | $0.0220 | 10× | 2,284 | 2,269 | +1% |
| 16cpu | c6i.4xlarge | $0.0053 | $0.0420 | 8× | 2,284 | 2,269 | +1% |
| 32cpu | c6i.8xlarge | $0.0080 | $0.0820 | 10× | 2,284 | 2,269 | +1% |
| 48cpu | c6i.12xlarge | $0.0107 | — | — | 2,284 | — | — |
| 64cpu | c6i.16xlarge | $0.0127 | $0.1620 | 13× | 2,284 | 2,269 | +1% |
| 96cpu | c6i.24xlarge | $0.0189 | $0.2520 | 13× | 2,284 | 2,269 | +1% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m7a.medium | $0.0006 | $0.0020 | 4× | 2,878 | 2,269 | +27% |
| 2cpu | c7a.large | $0.0008 | $0.0060 | 7× | 2,868 | 2,269 | +26% |
| 4cpu | c7a.xlarge | $0.0016 | $0.0120 | 8× | 2,868 | 2,269 | +26% |
| 8cpu | c7a.2xlarge | $0.0032 | $0.0220 | 7× | 2,868 | 2,269 | +26% |
| 16cpu | c7a.4xlarge | $0.0049 | $0.0420 | 9× | 2,868 | 2,269 | +26% |
| 32cpu | c7a.8xlarge | $0.0088 | $0.0820 | 9× | 2,868 | 2,269 | +26% |
| 48cpu | c7a.12xlarge | $0.0101 | — | — | 2,868 | — | — |
| 64cpu | c7a.16xlarge | $0.0131 | $0.1620 | 12× | 2,868 | 2,269 | +26% |
| 96cpu | c7a.24xlarge | $0.0182 | $0.2520 | 14× | 2,868 | 2,269 | +26% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | c7i.large | $0.0007 | $0.0060 | 9× | 2,978 | 2,269 | +31% |
| 4cpu | c7i.xlarge | $0.0011 | $0.0120 | 11× | 2,978 | 2,269 | +31% |
| 8cpu | c7i.2xlarge | $0.0035 | $0.0220 | 6× | 2,978 | 2,269 | +31% |
| 16cpu | c7i.4xlarge | $0.0035 | $0.0420 | 12× | 2,978 | 2,269 | +31% |
| 32cpu | c7i.8xlarge | $0.0114 | $0.0820 | 7× | 2,978 | 2,269 | +31% |
| 48cpu | c7i.12xlarge | $0.0150 | — | — | 2,978 | — | — |
| 64cpu | c7i.16xlarge | $0.0160 | $0.1620 | 10× | 2,978 | 2,269 | +31% |
| 96cpu | c7i.24xlarge | $0.0253 | $0.2520 | 10× | 2,978 | 2,269 | +31% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8a.medium | $0.0005 | $0.0020 | 4× | 3,812 | 2,269 | +68% |
| 2cpu | c8a.large | $0.0009 | $0.0060 | 7× | 3,799 | 2,269 | +67% |
| 4cpu | c8a.xlarge | $0.0015 | $0.0120 | 8× | 3,799 | 2,269 | +67% |
| 8cpu | c8a.2xlarge | $0.0029 | $0.0220 | 7× | 3,799 | 2,269 | +67% |
| 16cpu | c8a.4xlarge | $0.0046 | $0.0420 | 9× | 3,799 | 2,269 | +67% |
| 32cpu | c8a.8xlarge | $0.0100 | $0.0820 | 8× | 3,799 | 2,269 | +67% |
| 48cpu | c8a.12xlarge | $0.0117 | — | — | 3,799 | — | — |
| 64cpu | c8a.16xlarge | $0.0132 | $0.1620 | 12× | 3,799 | 2,269 | +67% |
| 96cpu | c8a.24xlarge | $0.0189 | $0.2520 | 13× | 3,799 | 2,269 | +67% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | c8i.large | $0.0009 | $0.0060 | 7× | 3,243 | 2,269 | +43% |
| 4cpu | c8i.xlarge | $0.0015 | $0.0120 | 8× | 3,243 | 2,269 | +43% |
| 8cpu | c8i.2xlarge | $0.0028 | $0.0220 | 8× | 3,243 | 2,269 | +43% |
| 16cpu | c8i.4xlarge | $0.0045 | $0.0420 | 9× | 3,243 | 2,269 | +43% |
| 32cpu | c8i.8xlarge | $0.0122 | $0.0820 | 7× | 3,243 | 2,269 | +43% |
| 48cpu | c8i.12xlarge | $0.0119 | — | — | 3,243 | — | — |
| 64cpu | c8i.16xlarge | $0.0128 | $0.1620 | 13× | 3,243 | 2,269 | +43% |
| 96cpu | c8i.24xlarge | $0.0217 | $0.2520 | 12× | 3,243 | 2,269 | +43% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8azn.medium | $0.0007 | $0.0020 | 3× | 4,261 | 2,269 | +88% |
| 2cpu | m8azn.large | $0.0013 | $0.0060 | 5× | 4,261 | 2,269 | +88% |
| 4cpu | m8azn.xlarge | $0.0026 | $0.0120 | 5× | 4,261 | 2,269 | +88% |
| 48cpu | m8azn.12xlarge | $0.0208 | — | — | 4,261 | — | — |
| 96cpu | m8azn.24xlarge | $0.0307 | $0.2520 | 8× | 4,261 | 2,269 | +88% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | t8i.medium | $0.0006 | $0.0020 | 3× | 3,244 | 2,269 | +43% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | t4g.large | $0.0007 | $0.0050 | 7× | 1,105 | 1,874 | −41% |
| 4cpu | t4g.xlarge | $0.0011 | $0.0080 | 7× | 1,105 | 1,874 | −41% |
| 8cpu | t4g.2xlarge | $0.0015 | $0.0140 | 10× | 1,105 | 1,874 | −41% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m7g.medium | $0.0006 | — | — | 1,562 | — | — |
| 2cpu | c7g.large | $0.0009 | $0.0050 | 6× | 1,562 | 1,874 | −17% |
| 4cpu | c7g.xlarge | $0.0015 | $0.0080 | 5× | 1,562 | 1,874 | −17% |
| 8cpu | c7g.2xlarge | $0.0022 | $0.0140 | 6× | 1,562 | 1,874 | −17% |
| 16cpu | c7g.4xlarge | $0.0043 | $0.0260 | 6× | 1,562 | 1,874 | −17% |
| 32cpu | c7g.8xlarge | $0.0072 | $0.0500 | 7× | 1,562 | 1,874 | −17% |
| 48cpu | c7g.12xlarge | $0.0084 | — | — | 1,562 | — | — |
| 64cpu | c7g.16xlarge | $0.0111 | $0.0980 | 9× | 1,562 | 1,874 | −17% |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8g.medium | $0.0006 | — | — | 1,940 | — | — |
| 2cpu | c8g.large | $0.0007 | $0.0050 | 7× | 1,947 | 1,874 | +4% |
| 4cpu | c8g.xlarge | $0.0017 | $0.0080 | 5× | 1,947 | 1,874 | +4% |
| 8cpu | c8g.2xlarge | $0.0030 | $0.0140 | 5× | 1,947 | 1,874 | +4% |
| 16cpu | c8g.4xlarge | $0.0044 | $0.0260 | 6× | 1,947 | 1,874 | +4% |
| 32cpu | c8g.8xlarge | $0.0067 | $0.0500 | 7× | 1,947 | 1,874 | +4% |
| 48cpu | c8g.12xlarge | $0.0088 | — | — | 1,947 | — | — |
| 64cpu | c8g.16xlarge | $0.0120 | $0.0980 | 8× | 1,947 | 1,874 | +4% |
| 96cpu | c8g.24xlarge | $0.0152 | — | — | 1,947 | — | — |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m9g.medium | $0.0005 | — | — | 2,471 | — | — |
| 2cpu | m9g.large | $0.0007 | $0.0050 | 7× | 2,471 | 1,874 | +32% |
| 4cpu | m9g.xlarge | $0.0016 | $0.0080 | 5× | 2,471 | 1,874 | +32% |
| 8cpu | m9g.2xlarge | $0.0025 | $0.0140 | 6× | 2,471 | 1,874 | +32% |
| 16cpu | m9g.4xlarge | $0.0056 | $0.0260 | 5× | 2,471 | 1,874 | +32% |
| 32cpu | m9g.8xlarge | $0.0074 | $0.0500 | 7× | 2,471 | 1,874 | +32% |
| 48cpu | m9g.12xlarge | $0.0115 | — | — | 2,471 | — | — |
| 64cpu | m9g.16xlarge | $0.0116 | $0.0980 | 8× | 2,471 | 1,874 | +32% |
| 96cpu | m9g.24xlarge | $0.0243 | — | — | 2,471 | — | — |
spot prices (7-day average, cheapest zone)
· us-east-1 · incl. 30GB gp3 @ 400 MB/s
billed by AWS, to the second
How we count
01Where do the prices come from?+
RunsOn figures are real EC2 prices in
us-east-1, including a 30 GB gp3
root volume — spot by default (the cheapest zone's price, averaged over 7 days), with an
on-demand toggle. GitHub figures are
GitHub-hosted per-minute rates. Both are normalized to $/min and multiplied by your
minutes. See the full runner cost table.
02Does the estimate include the RunsOn license?+
Yes. The yearly total adds the flat Commercial license ($350/yr) on top of compute, so
the savings shown are net of what you pay RunsOn. Compute itself is billed by AWS,
directly to your account — there is no per-minute markup.
03Why is self-hosted so much cheaper?+
You pay AWS spot prices for the exact instance a job needs, only while it runs, instead
of a fixed per-minute rate with a margin baked in. On Linux from 2 vCPU up, that comes to
5–15× under GitHub-hosted per minute, disk included. Faster CPUs also mean jobs finish sooner, which compounds the saving.
04What about caching, data transfer, and queue time?+
This calculator covers compute, which dominates the bill. RunsOn's S3-backed cache lives
in your account (no egress to a third party), and faster runners cut wall-clock time
further. Storage and transfer are typically cents per job.
Now get that number on your own AWS bill.
One CloudFormation stack, a one-line label change, and your slowest job lands on a spot instance you own. 15 days free.
“RunsOn is a true turnkey CI/CD solution. We’ve achieved up to 55% savings compared to our GitHub and in-house self-hosted runners.”