111% more reported CVEs per day in 2026 than last year.Come say hello at booth T14 at Cybersec Expo in Amsterdam on 19–20 October.

Comparison

CI runner prices compared: x64, ARM64, Windows and macOS

List prices for hosted CI runners from GitHub, CRACI, Blacksmith, Depot, Namespace, WarpBuild, Ubicloud, Tenki, Avrea, GitLab, Bitbucket, CircleCI, Buildkite, Harness and Azure Pipelines, normalized per vCPU and per GB of RAM, at every size they sell.

Updated

The short version

  • Per vCPU, list prices differ fivefold. A 2 vCPU Linux x64 runner costs from $0.06 per vCPU-hour (Namespace within plan minutes, Ubicloud premium) to $0.30 (GitLab.com and Bitbucket extra minutes). GitHub-hosted sits at $0.18.
  • ARM64 is usually cheaper, but not everywhere. GitHub, Blacksmith, WarpBuild and Ubicloud price ARM64 below x64. CRACI, Depot, Namespace and Harness charge one rate for both, and Avrea charges three times its x64 rate for ARM64.
  • Size changes the rate at some vendors only. GitHub and GitLab.com get cheaper per vCPU as runners grow; CRACI, Blacksmith, Depot, WarpBuild, Avrea, Harness and CircleCI charge the same per vCPU at every size.
  • Rounding can matter more than list price. Whole-minute billing turns a 20-second job into a 60-second charge.
  • CRACI is one of the most affordable. At $0.002 per vCPU-minute ($0.12 per vCPU-hour), metered per second, it lists below GitHub on x64 and below the CI platforms that bill per minute, level with Blacksmith on x64, and above only the budget runners. It also records and controls what each build does.

Price per minute, per vCPU and per GB of RAM

Pick a platform and a size. Per vCPU-hour puts runners of different shapes on one scale; per GB RAM-hour shows who gives you more memory for the money, since memory per vCPU runs from 2 GB to 4 GB across these vendors. Hover over a bar for the runner, its billing rule and any caveat.

CRACIGitHub-hostedOther providersSelf-hosted on Hetzner (our estimate)

Linux x64, 2 vCPU, per vCPU-hour, lowest first

$0$0.100$0.200$0.300$0.400Self-hosted on Hetzner, compute only$0.05979Namespace$0.060Ubicloud$0.060Azure Pipelinesestimate, busy 8 h a working day$0.114CRACI$0.120Blacksmith$0.120WarpBuild$0.120Tenki$0.120Avrea$0.120Harness CI Cloud$0.150GitHub-hosted$0.180Depot$0.180CircleCI$0.180Buildkite hosted$0.240GitLab.com$0.300Bitbucket Pipelines$0.300Self-hosted on Hetzner, with upkeep$0.400
List prices checked September 29, 2026, before free minutes and plan fees. Self-hosted on Hetzner is our estimate, not a list price; the self-hosted section below shows the math. Azure Pipelines charges $40 a month per parallel job, not per minute; its rate is our estimate for a job busy 8 hours on every working day, and idle time raises it.

On Linux x64 at 2 vCPU, the budget runners lead: Ubicloud and Namespace at $0.06 per vCPU-hour, then Blacksmith, WarpBuild, Tenki, Avrea and CRACI at $0.12, ahead of Harness at $0.15 and GitHub-hosted, Depot and CircleCI at $0.18. The CI platforms price their own hosted compute higher: Buildkite at $0.24, and GitLab.com and Bitbucket at $0.30 when you pay for extra minutes. Namespace's rate is the one inside its $100-a-month Team plan; overage costs 1.5x.

Azure Pipelines sells capacity differently: $40 a month for each parallel job, with unlimited minutes, on one hosted size of 2 vCPU and 7 GB. The charts show our estimate for a job busy 8 hours on each of 22 working days, $0.114 per vCPU-hour. That is the cheapest it gets at that volume. Builds come in bursts, and teams buy a job for each build they want running at once, so most jobs sit idle for part of the day and cost more per minute used:

One Azure Pipelines parallel job at $40 a month, 2 vCPU, over 22 working days of 8 hours.
Capability Busy hours a month Per minute Per vCPU-hour
Busy the whole working day 176 $0.0038 $0.114
Busy 50% of the working day 88 $0.0076 $0.227
Busy 25% of the working day 44 $0.0152 $0.455

Per GB of RAM the order shifts. Namespace, Tenki, Bitbucket and CircleCI's Docker classes give 2 GB per vCPU, CRACI 3 GB, and GitHub, Depot, WarpBuild and Avrea 4 GB. A memory-hungry build may need a larger size on a 2 GB vendor, which closes much of the gap.

How price changes with runner size

A flat line means one rate per vCPU at every size. CRACI, Blacksmith, Depot, WarpBuild, Ubicloud, Avrea, Harness and CircleCI price that way. GitHub and GitLab.com discount larger runners, and Namespace's 64 vCPU shape costs more per vCPU than its smaller ones. Hover over a vendor in the legend to pick out its line.

Price per vCPU-hour by runner size, Linux x64

$0$0.100$0.200$0.300$0.400124816326496vCPUCRACI, Blacksmith, WarpBuild, AvreaGitHub-hostedSelf-hosted on Hetzner, with upkeepBitbucket PipelinesBuildkite hostedGitLab.comCircleCIDepotHarness CI CloudTenkiNamespaceUbicloudSelf-hosted on Hetzner, compute only
List prices checked September 29, 2026. Per vCPU-hour is the per-minute price divided by vCPUs, times 60. Ubicloud tops out at 30 vCPU and CodeBuild offers 36 and 72; each is plotted at its real size. Blacksmith prints only its 2 vCPU price and scales larger sizes by vCPU, so its line is flat by its own rule. The two self-hosted lines are our estimate for Hetzner AX42 servers carrying 60,000 minutes a month, not list prices; see the self-hosted section below. Azure Pipelines sells one size per OS, so it has no line here.

GitHub's discount is steepest on ARM64: its 32-core arm64 runner costs $0.050 per minute, about $0.094 per vCPU-hour, below CRACI's $0.12. On x64 at 32 cores GitHub lists $0.082 per minute, and CRACI's $0.064 stays about 22% lower.

ARM64 against x64

The same vendor, the same size, two architectures. The dot on the left is the cheaper one.

x64ARM64

ARM64 against x64, price per vCPU-hour at 2 vCPU

$0$0.100$0.200$0.300$0.400BlacksmithARM 37% lessUbicloudARM 37% lessWarpBuildARM 25% lessGitHub-hostedARM 17% lessCRACISame priceDepotSame priceNamespaceSame priceGitLab.comSame priceCircleCISame priceHarness CI CloudSame priceAvreaARM 200% more
No ARM64 at this size: Tenki, Bitbucket Pipelines, Buildkite hosted, Azure Pipelines. CircleCI's ARM64 figure is its cheaper ARM class at each size. List prices checked September 29, 2026.

ARM64 is where the cheapest managed runners pull furthest ahead. Ubicloud's ARM64 runners cost less than its premium x64, and Blacksmith charges 37.5% less for ARM. Avrea goes the other way: its ARM64 runners run on Apple M5 Max hardware and cost three times its x64 rate. CRACI runs native ARM64 at the same rate as x86-64, so moving a build between the two changes nothing on the bill; ARM64 capacity on CRACI is limited today.

Windows, macOS and GPU runners

Windows runners cost 1.3 to 2 times the Linux rate of the same size, and macOS runners billed per minute run from $0.06 to $0.24 per minute. Azure Pipelines is the exception: one $40 parallel job runs Linux, Windows or macOS (Intel, 3 vCPU) at the same price. GPU runners are rare: GitHub, GitLab.com and CircleCI offer them hosted, and AWS CodeBuild in the cloud. CRACI runs Linux only today, with Windows and macOS on the roadmap; the runner is chosen per job, so these jobs can stay where they are.

CRACIGitHub-hostedOther providers

macOS, per minute, lowest first

$0$0.100$0.200$0.300Azure PipelinesIntel, estimate, 3 vCPU$0.00379NamespaceApple Silicon, 6 vCPU$0.060GitLab.comM1, 4 vCPU$0.060GitHub-hostedmacos-latest (M1), 3 vCPU$0.062GitHub-hostedmacos-15-intel, 4 vCPU$0.062GitHub-hostedlarge (Intel), 12 vCPU$0.077BlacksmithM4, 6 vCPU$0.080DepotM2 or M4, 8 vCPU$0.080WarpBuildM4 Pro, 6 vCPU$0.080TenkiM4 Pro, 4 vCPU$0.080AvreaM5 Max, 8 vCPU$0.080GitHub-hostedxlarge (M2 Pro), 5 vCPU$0.102NamespaceApple Silicon, 12 vCPU$0.120TenkiM4 Pro, 6 vCPU$0.120GitLab.comM2 Pro, 6 vCPU$0.120CircleCIM4 Pro, 6 vCPU$0.120Buildkite hostedM4, 6 vCPU$0.120WarpBuildM4 Pro, 12 vCPU$0.160AvreaM5 Max, 16 vCPU$0.160Harness CI CloudM4, 6 vCPU$0.180CircleCIM4 Pro, 12 vCPU$0.240Buildkite hostedM4, 12 vCPU$0.240
Not offered: Ubicloud, Bitbucket Pipelines. CRACI runs Linux today; Windows and macOS are on the roadmap. List prices checked September 29, 2026, before free minutes and plan fees. Azure Pipelines charges $40 a month per parallel job, not per minute; its rate is our estimate for a job busy 8 hours on every working day, and idle time raises it.

What a month costs: the calculator

List prices tell half the story. How a vendor rounds each job decides the rest, especially for pipelines with many short jobs. Enter your workload and the calculator applies each vendor's own rule.

CRACIGitHub-hostedOther providersSelf-hosted on Hetzner (our estimate)

Compute cost per month: 20,000 jobs of 90 seconds on 2 vCPU x64, about 30,000 minutes of run time

CRACI $120 against $240 on GitHub-hosted: 50% less at list prices, before the speed difference.

$0$200$400$600$800Namespace$80Ubicloud$80Self-hosted on Hetzner, compute only$120CRACI$120Blacksmith$120Tenki$120WarpBuild$160Avrea$160Azure Pipelines$160Depot$180CircleCI$180Harness CI Cloud$200GitHub-hosted$240Buildkite hosted$240GitLab.com$300Bitbucket Pipelines$300Self-hosted on Hetzner, with upkeep$800
List prices checked September 29, 2026, with each vendor's own rounding applied per job. Free minutes, plan fees and the speed of each runner are left out: a faster runner finishes the same job in fewer minutes. Harness bills to the nearest minute, so jobs under 30 seconds count as one minute here. WarpBuild and Ubicloud bill per minute, modelled as each job rounded up. Self-hosted is our estimate, not a list price: whole Hetzner AX42 servers sized for a fleet that is 30% busy, with and without 8 hours of upkeep a month at $85 an hour (see the self-hosted section below). Azure Pipelines charges $40 a month per parallel job, so it is priced as one job for each job running at once at peak, and only at 2 vCPU x64, its one hosted Linux size.

The calculator compares compute at list prices only. It leaves out speed: CRACI runs builds about twice as fast as GitHub-hosted runners, thanks to faster hardware, shorter queue times and caching, so the same job bills fewer minutes. Other providers make speed claims of their own, which we have not benchmarked against CRACI.

How each vendor bills

As stated on each vendor's pricing page or docs, checked September 29, 2026 (Azure Pipelines October 2).
Capability Billing Free usage Plan and conditions
CRACI Per second None No monthly fee: build minutes only, $0.002 per vCPU-minute
GitHub-hosted Each job rounded up to the whole minute 2,000 to 50,000 minutes a month by plan, standard runners only Larger runners need Team or Enterprise Cloud and never use included minutes
Blacksmith Not stated on the pricing page 3,000 x64 2 vCPU minutes a month No monthly fee
Depot Tracked per second, billed in whole minutes per month 7-day trial Developer $20 a month with 2,000 minutes; Startup $200 with 20,000
Namespace One-minute minimum; the next 15 seconds past a minute are free 30-day trial Rate within plan minutes: Team $100 a month with 100,000 unit minutes; overage 1.5x
WarpBuild Per minute Free usage allowance, amount not stated No platform fee
Ubicloud Per minute $2.50 credit a month Premium runners, the default for new accounts; standard x64 is $0.00125 per 2 vCPU minute
Tenki Per minute at per-second precision $100 sign-up credit Starter up to 4 vCPU; Team $200 a month (with $100 of credit) up to 16 vCPU
Avrea Per minute per job 3,000 2 vCPU minutes a month No monthly fee; static IPs $100 each a month
GitLab.com Per second, times the machine's cost factor 400 to 50,000 compute minutes a month by tier Extra compute minutes $10 per 1,000; sizes above medium need Premium or Ultimate
Bitbucket Pipelines Step duration times the size multiplier 50 to 3,500 build minutes a month by plan Extra minutes $10 per 1,000, sold in monthly blocks; 4x and larger need a paid plan
CircleCI Per second, rounded up to the next credit 30,000 credits a month on Free Credits $15 per 25,000 ($0.0006 each); Performance from $15 a month
Buildkite hosted Per second, no minimums or rounding 2,000 Linux vCPU-minutes a month on Free Pro $30 per active user a month with 4,000 vCPU-minutes; ARM64 on request for Enterprise
Harness CI Cloud Rounded to the nearest minute 2,000 credits a month Paid plans through sales
Azure Pipelines $40 a month per parallel job, unlimited minutes; jobs run up to 6 hours One job with 1,800 minutes a month, up to 60 minutes per run; the first paid job replaces it Our estimate: one job busy 8 hours on each of 22 working days. Idle time raises the rate. One size per OS, no larger hosted agents
AWS CodeBuild Rounded up to the whole minute 100 small build minutes a month On-demand, us-east-1
RunsOn (AWS spot) AWS bills the instances per second 15-day trial AWS spot compute in us-east-1 as RunsOn lists it, plus a flat license from about $348 (€300) a year
Self-hosted on Hetzner, compute only Monthly server rent, whether jobs run or not None Our estimate: Hetzner AX42 servers at $114.84 (€99) a month plus $56.84 (€49) setup, one job per 2 vCPU, 60,000 minutes a month. No upkeep
Self-hosted on Hetzner, with upkeep Monthly server rent plus engineering time None Our estimate: the same servers plus 8 hours of upkeep a month at $85 an hour, 60,000 minutes a month

Self-hosted runners: the full math

Self-hosted runners have no per-minute price, so they are easy to leave out of a comparison like this one. GitHub charges nothing per minute for them as of September 2026; it postponed a planned $0.002 per-minute platform charge. What you pay for is the servers and the time it takes to run them. Here is that math on Hetzner, one of the cheapest places to rent build servers in Europe, with every assumption stated so you can swap in your own.

1. The server

A Hetzner AX42 dedicated server (AMD Ryzen 7 PRO 8700GE, 8 cores and 16 threads, 64 GB of RAM) costs $114.84 (€99) a month plus a $56.84 (€49) setup fee, excluding VAT, with no minimum term. Spreading the setup fee over a year: $114.84 + $56.84 ÷ 12 = $119.58 a month. Counting each thread as a vCPU, as cloud providers do, it runs eight 2 vCPU jobs at once with 8 GB of RAM each.

2. Price per vCPU-minute, if it never sits idle

A month has about 730 hours, or 43,800 minutes. 16 vCPUs × 43,800 minutes = 700,800 vCPU-minutes. $119.58 ÷ 700,800 = $0.000171 per vCPU-minute, or $0.00034 for a 2 vCPU minute. That is the floor, and no real fleet reaches it.

3. Price per vCPU-minute, at realistic use

A self-hosted fleet is sized for the busy hours and paid for around the clock. If it is busy 10 hours on each of 22 working days, that is 220 of 730 hours, about 30%. $0.000171 ÷ 0.3 = $0.000569 per vCPU-minute, or $0.00114 for a 2 vCPU minute: under a third of CRACI's $0.004 and about a fifth of GitHub-hosted's $0.006.

4. The engineering time

Someone keeps the hosts patched, the runner software and build images current, and the fleet scaling with the queue. We use the same illustrative inputs as our managed vs self-hosted cost model: 8 hours a month at $85 an hour, or $680 a month. That cost does not shrink with usage, so how much it adds per minute depends on how many minutes you run.

5. A worked example

Take 60,000 build minutes a month on 2 vCPU runners: 120,000 vCPU-minutes. At 30% busy, one AX42 delivers 210,240 vCPU-minutes a month, so one server is enough. It leaves no spare for a failed host, which flatters self-hosting.

  • Compute only: $119.58 ÷ 60,000 minutes = $0.00199 per minute
  • Upkeep: $680 ÷ 60,000 minutes = $0.01133 per minute
  • With upkeep: $799.58 a month, or $0.01333 per minute
  • CRACI: 60,000 × $0.004 = $240 a month. GitHub-hosted: 60,000 × $0.006 = $360 a month.

These two per-minute prices are the self-hosted lines in the charts above. The calculator prices self-hosting as whole servers plus the fixed upkeep, so it follows your workload.

6. How it changes with volume

2 vCPU minutes a month. Servers sized for a fleet that is 30% busy; upkeep held at 8 hours a month.
Capability Hetzner servers Self-hosted a month, with upkeep Per minute CRACI a month
60,000 minutes 1 $120 + $680 = $800 $0.0133 $240
300,000 minutes 3 $359 + $680 = $1,039 $0.0035 $1,200
600,000 minutes 6 $717 + $680 = $1,397 $0.0023 $2,400

The fixed upkeep is spread thinner as volume grows. On these inputs self-hosting costs more than CRACI below roughly 260,000 minutes a month and less above it. Holding upkeep at 8 hours flatters the larger fleets: six servers take more looking after than one.

What the math leaves out

  • Security hardening. GitHub advises against self-hosted runners for public repositories and recommends ephemeral, isolated runners; building that isolation is more of the upkeep.
  • Build evidence. A plain runner produces no SBOM, egress policy or network trace. On CRACI these come with every job; on your own servers they are tooling to build and maintain.
  • Peaks and failures. One server queues jobs when more than eight run at once and stops the builds when it fails. A second server for headroom doubles the compute cost at low volume.
  • Elastic cloud servers. Hetzner Cloud's dedicated-vCPU CCX33 is $161.23 (€138.99) a month for 8 vCPUs, about 2.7 times the AX42 per vCPU, and cloud servers are billed for every started hour, so a fresh server per job pays an hour for a five-minute build. Its cheapest shared plans were listed as unavailable when we checked.

Where CRACI fits

If the lowest price per vCPU is the only criterion, Ubicloud, Namespace or runners in your own AWS account will win. CRACI is priced to sit below GitHub-hosted runners on x64 and below the CI platforms that bill per minute, with per-second billing and no monthly fee, but it does not compete on price alone.

It competes on what the runner records and controls. While each job runs, CRACI records every package it fetched and turns that into an SBOM with a stated completeness, runs the job under an egress policy that is validated before it starts and fails closed, and keeps a network trace of every connection. Most runners here sell compute and speed; CRACI adds supply chain evidence from every build to the same minute.

See CRACI pricing, or book a demo to price one of your own workflows.

Compare one provider with CRACI

Runner providers: GitHub-hosted runners, Blacksmith, Depot, Namespace, WarpBuild, Ubicloud, RunsOn and Avrea. CI platforms: GitLab CI, CircleCI, Buildkite and Harness. For everything beyond price, see GitHub Actions runner providers compared.

How we compared

  • Sources: each vendor's own pricing page or documentation, checked September 29, 2026, and Azure Pipelines on October 2. No reseller or third-party price lists.
  • Currency: all prices in US dollars. Hetzner and RunsOn list in euros; their prices are converted at €1 = $1.16, with the euro original in parentheses.
  • Rates: the pay-as-you-go or overage rate, before free minutes, included minutes and plan fees. Namespace is shown at its in-plan rate. GitLab.com and Bitbucket are shown at their price for extra minutes, $10 per 1,000, times each machine's multiplier.
  • Derived sizes: Blacksmith prints only its 2 vCPU price and states that larger sizes scale with vCPU count; those sizes are marked in the charts.
  • Cloud references: AWS CodeBuild is on-demand in us-east-1. RunsOn shows the AWS spot prices it lists for its default instances in us-east-1, plus a license from about $348 (€300) a year that is not in the chart. Both are off by default.
  • Self-hosted: our estimate for Hetzner AX42 dedicated servers, not a list price. The inputs and the math are in the self-hosted section above; the upkeep hours and hourly cost are illustrative.
  • Azure Pipelines: our estimate, not a list price. Microsoft sells Microsoft-hosted parallel jobs at $40 a month with unlimited minutes; the charts divide that by one job busy 8 hours on 22 working days. The calculator prices it as one job per job running at once at peak.
  • Not included: Cirun, Actuated and Cirrus Runners, which charge per repository or per server; and BuildJet, which stopped running jobs on March 31, 2026.

CI runner pricing FAQ

Short answers on runner prices, ARM64 and billing.

What is the cheapest CI runner per minute?

Among managed runners, Ubicloud and Namespace list the lowest per-vCPU prices as of September 2026: Ubicloud's standard 2 vCPU x64 runner is $0.00125 per minute, and Namespace charges $0.001 per vCPU-minute within plan minutes. Running spot instances in your own AWS account with RunsOn costs less still in compute, plus a license and the work of running it.

Are ARM64 runners cheaper than x64?

At several providers, yes. GitHub, Blacksmith, WarpBuild and Ubicloud list ARM64 below x64, GitHub by about 39% at 32 cores. CRACI, Depot, Namespace, GitLab and Harness charge the same rate for both. Avrea's ARM64 runners, on Apple M5 Max hardware, cost three times its x64 rate, and CircleCI's ARM classes cost more than its x64 Docker classes above 4 vCPU.

How much does a GitHub Actions runner cost per vCPU?

GitHub's standard 2-core Linux x64 runner costs $0.006 per minute, or $0.18 per vCPU-hour. Larger x64 runners drop to about $0.154 per vCPU-hour at 32 cores, and arm64 larger runners to about $0.094. CRACI charges $0.002 per vCPU-minute at every size, or $0.12 per vCPU-hour.

Why compare price per vCPU-hour instead of per minute?

Runners come in different shapes. One vendor's smallest runner has 2 vCPU and 4 GB of RAM, another's 2 vCPU and 8 GB, and a third starts at 4 vCPU. Dividing the per-minute price by the vCPUs, and by the RAM, puts every runner on the same footing. Per minute is still the number on the bill, so every chart can switch between them.

Does rounding change what a runner costs?

For short jobs, a lot. GitHub, AWS CodeBuild, WarpBuild, Ubicloud and Avrea bill each job in whole minutes, and Namespace has a one-minute minimum. A 20-second lint job costs three times its run time there. CRACI, Depot, GitLab, CircleCI and Buildkite meter by the second. The calculator on this page applies each vendor's rule.

How much does an Azure Pipelines minute cost?

Azure Pipelines does not charge per minute. A Microsoft-hosted parallel job costs $40 a month with unlimited minutes, and runs one job at a time on 2 vCPU and 7 GB of RAM. Busy 8 hours on every working day, that is about $0.0038 a minute, or $0.114 per vCPU-hour, close to CRACI's $0.12. Busy half the working day, it is $0.227. Teams buy a job for each build they want running at once, so the jobs bought for the busiest hour sit idle the rest of the day.

Is it cheaper to self-host GitHub Actions runners?

In compute, yes. On a rented Hetzner AX42 server, a fleet that is busy 30% of the month costs about $0.0011 per 2 vCPU minute, against $0.004 on CRACI and $0.006 on GitHub-hosted. The engineering time is what changes the answer: with 8 hours of upkeep a month at $85 an hour, 60,000 minutes a month cost about $800 self-hosted against $240 on CRACI. Past roughly 260,000 minutes a month, self-hosting is cheaper on price alone, before security hardening and build evidence.

Does CRACI offer Windows, macOS or GPU runners?

Not today. CRACI runs Linux on x86-64 and ARM64, with Windows and macOS on the roadmap. The runner is chosen per job, so Windows and macOS jobs can stay where they are while Linux jobs move to CRACI.

Price your own pipeline on CRACI

Book a demo and we will run one of your workflows on CRACI and compare cost, build time and the SBOM with the runner you use today.

Book a demo