Ubicloud vs Blacksmith for GitHub Actions runners
Ubicloud vs Blacksmith is the cheapest published Linux rate in this category against the one that asks least of you. Ubicloud lists $0.00125 a minute for a 2 vCPU runner with 8 GB, a third of Blacksmith's $0.004, and the catch is not hidden: new accounts are put on the premium tier at $0.002 by default, and Ubicloud sells no Windows and no macOS at all.

Ubicloud runs an open-source cloud on bare metal and sells GitHub Actions runners from it, with the whole stack licensed under AGPL v3 if you would rather operate it yourself. Its runners are VMs in data centres in Germany, its x64 standard machines are AMD EPYC 9454P, its premium machines are AMD Ryzen 9 7950X3D chosen for single-thread speed, and its arm64 machines are Ampere Altra Q80-30 with a dedicated core per vCPU. Every account gets a $2.50 monthly credit, which its docs put at 1,250 minutes of 2 vCPU runner time.
Blacksmith sells managed runners on its own bare metal in four regions at one published rate per platform, with 3,000 free minutes a month, a GitHub App to install and a colocated cache that intercepts actions/cache without a workflow change. It sells Windows and macOS as well as Linux, and its differentiators are add-ons you buy by the gigabyte rather than tiers you pick between.
Every cell below was read from the vendor's own public pricing or documentation page on 21 September 2026. Where a vendor does not publish a number, the cell says "not published" instead of carrying a guess.
Ubicloud, Blacksmith and Latchkey side by side (read 21 September 2026)
| Ubicloud | Blacksmith | Latchkey | |
|---|---|---|---|
| Price per minute, 2 vCPU Linux x64 | $0.00125 standard or $0.002 premium (2 vCPU, 8 GB RAM, 75 GB disk). Premium is enabled by default for new accounts | $0.004 (2 vCPU, 8 GB RAM, 80 GB disk) | $0.0025 (2 vCPU, 8 GB RAM, 100 GB disk) |
| Price per minute, 4 vCPU Linux x64 | $0.0025 standard or $0.004 premium (4 vCPU, 16 GB RAM, 150 GB disk) | $0.008 (4 vCPU, 16 GB RAM, 80 GB disk) | $0.005 (4 vCPU, 16 GB RAM, 100 GB disk) |
| Free tier | A $2.50 monthly account credit, which its docs describe as 1,250 minutes of 2 vCPU runner time. A valid card is required before any resource is created | 3,000 free minutes a month, printed on every runner card | 30-day trial, then 2,000 included minutes a month on Developer, 4,000 on Launch, 6,000 on Scale |
| Billing granularity | Per minute, billed monthly | Not published | Per minute |
| Runner sizes and OS | 2, 4, 8, 16 and 30 vCPU on Linux x64 and arm64, Ubuntu 22.04, 24.04 and 26.04 by label suffix. No Windows or macOS labels are published | 2 to 32 vCPU on Linux x64 and arm64; Windows Server 2025 at 2 to 32 vCPU; macOS M4 at 6 and 12 vCPU | 2, 4, 8 and 16 vCPU, Ubuntu 24.04 on x86_64 only. arm64, Windows and macOS are not offered |
| Cache: type, limit, persistence | Transparent cache, on by default, 30 GB free per repository per week in its documentation, with the premium runner card advertising 100 GB and no unit; the oldest entries are deleted past the limit, and entries unused for 7 days are removed. Branch isolation matches GitHub by default and can be switched off | Colocated cache intercepts actions/cache, 25 GB free per repo per week; sticky disks are ext4 volumes, 5 per job, evicted after 7 days idle, $0.50/GB/month | Size not published. latchkey-dev/cache-action@v1 swaps one line for actions/cache, keeping path, key and restore-keys; entries are isolated per organization, versioned by OS, kept 14 days; a failed restore warns rather than failing the job |
| Docker build acceleration | The transparent cache covers docker/build-push-action with type=gha, so layer caching needs no action swap | Docker layer caching as a $0.50/GB/month add-on, driven by useblacksmith/setup-docker-builder@v2 and useblacksmith/build-push-action@v2 | latchkey-dev/docker-cache-action@v1, layers held in a Latchkey-managed private registry per organization |
| Concurrency limits | Not published | None imposed, per the runner docs | Not published; warm-pool capacity varies by plan |
| Where jobs run | Ubicloud VMs across data centres in Germany, allocated for availability. Its public IPv4 ranges are published for firewall allowlists | Blacksmith's own regions: Ashburn, Phoenix, Amsterdam and Frankfurt | Latchkey's own AWS estate on m6a-class hosts, one job per runner, private network, destroyed after the job |
| Self-healing or retries | Not offered | Not offered | Built in: transient failures are diagnosed and retried inside the run |
| Setup change required | Install the Ubicloud Managed Runners GitHub App, add a card, then change ubuntu-latest to ubicloud-standard-2 | Install the GitHub App, then change the runs-on label | A runs-on label change. GitHub organization accounts only |
Two tiers, one of them switched on for you
Ubicloud is the only vendor in this corpus that sells the same shape twice. Standard x64 runners are AMD EPYC 9454P with two vCPU per physical core; premium x64 runners are AMD Ryzen 9 7950X3D, chosen for clock speed on monorepos and test-heavy workflows, and cost 60% more at every size. Its documentation states new accounts get premium by default and that you turn it off in account settings.
That matters for a comparison, because the rate you will actually be charged on day one is $0.002 and not the $0.00125 that makes the headline. Both are still under Blacksmith at every size, so the conclusion does not change, but the margin does: three times cheaper becomes twice cheaper. Check which tier your account is on before you model a month.
| Shape | Ubicloud standard | Ubicloud premium | Blacksmith | Latchkey |
|---|---|---|---|---|
| 2 vCPU, 8 GB x64 | $0.00125 | $0.002 | $0.004 | $0.0025 |
| 4 vCPU, 16 GB x64 | $0.0025 | $0.004 | $0.008 | $0.005 |
| 8 vCPU, 32 GB x64 | $0.005 | $0.008 | $0.016 | Published per size |
| 16 vCPU, 64 GB x64 | $0.010 | $0.016 | $0.032 | Published per size |
| 30 vCPU, 120 GB x64 | $0.01875 | $0.030 | Not sold at 30; 32 vCPU at $0.064 | Not offered above 16 |
| 2 vCPU arm64 | $0.00125 with 6 GB | Not offered on arm64 | $0.0025 | Not offered |
Speed
Not benchmarked yet; the runner benchmark report will replace this section. We have not run the same workload on these runners ourselves, and until we have there is no number here worth quoting.
The cheap way to get a real answer is to point one slow job at each candidate for a fortnight, because runner selection is per job and the Actions run log hands you the timings for free.
Ubicloud publishes run times for five open-source projects against GitHub runners, dated January 2025, and attributes the difference to newer hardware than GitHub's Azure VMs. Blacksmith states it is 2x faster than GitHub's runners and builds its savings claim on that. Both are vendor numbers, and neither says anything about how these two compare with each other, which is the question this page is about.
The one structural difference worth knowing before you test is where the machines are. Ubicloud allocates runner VMs across data centres in Germany. If your registry, your package mirror or your test fixtures live in a United States region, every dependency pull crosses an ocean and the rate advantage is partly spent on latency you did not budget for. Blacksmith runs in Ashburn, Phoenix, Amsterdam and Frankfurt, so it has a side of the Atlantic either way.
Cost: the same month, and what happens to macOS
The workload every comparison here uses: 10,000 Linux minutes at 2 vCPU plus 2,000 macOS minutes on a private repository. Ubicloud sells no macOS runner, so that half of its bill goes to GitHub-hosted, which is also true of Latchkey.
| 10,000 Linux minutes at 2 vCPU | 2,000 macOS minutes | Monthly total | |
|---|---|---|---|
| Ubicloud standard | $12.50, less the $2.50 credit | Not offered: $124 on GitHub-hosted | $134 |
| Ubicloud premium, the default | $20.00, less the $2.50 credit | Not offered: $124 on GitHub-hosted | $141.50 |
| Blacksmith | $28 after 3,000 free minutes | $160 at $0.08/min | $188 |
| GitHub-hosted | $60 at $0.006/min | $124 at $0.062/min | $184 |
| Latchkey | $25 at $0.0025/min | Not offered: $124 on GitHub-hosted | $149 plus $5 to $49 a month for the plan |
Ubicloud takes the month on Linux and gives most of it back on everything else. On Linux compute alone it is $10 against $28, a gap Blacksmith's free minutes narrow but do not close. On macOS it does not compete at all, so a pipeline that builds iOS is paying GitHub's $0.062 a minute where Blacksmith would have charged $0.08 for a faster machine, and the two rows end up within $50 of each other on a bill dominated by Apple silicon. Latchkey's own plan is $5 to $49 a month on top of that compute, and its 2,000 to 6,000 included minutes are not netted off, so the figure is gross on both counts.
Then compare what the free cache holds, because both give one away and the sizes differ. Ubicloud's transparent cache is 30 GB per repository per week, which it calls 3x GitHub's default; Blacksmith's colocated cache is 25 GB. Both intercept actions/cache with no workflow change, and both then run out. Past the allowance the models diverge: Ubicloud deletes your oldest entries, Blacksmith sells sticky disks at $0.50 per GB per month. Fifty gigabytes of Docker layers is $25 a month on Blacksmith and not purchasable on Ubicloud.
For what the equivalent looks like on stock GitHub-hosted runners, where the store is 10 GB and shared with type=gha Docker layers, see GitHub Actions cache size limit. That page is also the one to read before assuming a bigger free cache solves a cache that is thrashing, because the usual cause is a key that changes every run rather than an allowance that is too small.
Reliability
Neither publishes a GitHub Actions SLA on the pages read here. What they publish instead is different in kind. Blacksmith states it imposes no limit on simultaneous jobs or vCPUs, which is a capacity promise. Ubicloud publishes its IP ranges so you can allowlist them, publishes its image build process, and publishes its source under AGPL v3, which is a transparency promise. Those are answers to different questions.
The image process is worth reading. Ubicloud builds its x64 images from the HashiCorp packer templates GitHub publishes in actions/runner-images, and deliberately deploys a new one a few days after GitHub rather than the same day, because GitHub has shipped images it then had to roll back. The consequence is precise: for a few days a month your runner image is behind ubuntu-latest, and a workflow that depends on a brand-new preinstalled tool will notice.
The failure neither handles is the mechanical one: a registry timeout, a browser binary that did not download, an out-of-memory kill at minute nine. The run bills, the re-run bills, and the merge waits for a person.
When to choose Ubicloud
- Your pipeline is Linux and your priority is the rate. Nothing else in this corpus publishes $0.00125 a minute for a 2 vCPU machine with 8 GB.
- You build arm64 and want it cheap. Its arm64 runners are Ampere Altra Q80-30 with a dedicated physical core per vCPU, at the same $0.00125 as the standard x64 tier.
- Your infrastructure is already in Europe, so the German data centres are an advantage rather than an ocean.
- You want the option of running the platform yourself. The stack is AGPL v3, which is a real exit and not a marketing line.
- Your cache is large but not enormous. Thirty gigabytes free per repository per week is the most generous free cache here, and past it you lose the oldest entries rather than gaining a bill.
When to choose Blacksmith
- You need Windows or macOS beside Linux on one invoice. Ubicloud sells neither, and splitting a pipeline across two vendors costs more than the rate difference on most bills.
- Your jobs are in the United States and the latency to a German data centre would be spent on every dependency pull.
- You want to buy your way out of a cache problem. Sticky disks at $0.50 per GB per month are a purchase; Ubicloud's answer past 30 GB is eviction.
- You want a standing free tier rather than a credit. Three thousand minutes a month is a real allowance and does not require a card to create the first runner.
- You want an explicit position on concurrency. Blacksmith publishes that it imposes no limit; Ubicloud publishes no number at all.
Switching: the exact diff
Both are a GitHub App install and a label. Neither needs a cache change, because both intercept actions/cache transparently, which means you can move a job back by reverting one line and the keys still work. Test them on the same workflow rather than in sequence, so the comparison is same-commit.
jobs:
test-on-ubicloud:
- runs-on: ubuntu-latest
+ runs-on: ubicloud-standard-4
steps:
- uses: actions/checkout@v7
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
- run: npm ci && npm test
test-on-blacksmith:
- runs-on: ubuntu-latest
+ runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v7
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
- run: npm ci && npm testThe verdict
If your pipeline is Linux and stays Linux, Ubicloud is the cheaper buy by a margin nothing else here matches, and the open-source stack underneath it is a genuine exit rather than a slogan. Two things have to be said in the same breath. The rate you will be charged on a new account is the $0.002 premium tier rather than the $0.00125 headline until you change it, and the runners are in Germany, which is either an advantage or a tax on every dependency pull depending on where your services are. Blacksmith is the better purchase the moment your pipeline stops being purely Linux, because Windows and macOS on the same invoice is worth more than a rate difference on a bill that Apple silicon already dominates, and because its sticky disks let you buy your way out of a cache problem that Ubicloud answers with eviction. Neither one repairs the job that failed for a reason unrelated to your code, which on a cheap runner is a larger share of what you pay than it was on an expensive one.
Frequently asked questions
How much do Ubicloud GitHub Actions runners cost?
Why is my Ubicloud bill higher than the published standard rate?
Does Ubicloud offer Windows or macOS runners?
How much free cache storage do these runners include?
actions/cache with no workflow change.Related guides
References
- Ubicloud pricing: standard, premium and arm64 runner rates by size (verified 2026-09-21)
- Ubicloud runner types, labels, hardware and image process (verified 2026-09-21)
- Ubicloud Cache: transparent cache, free storage and branch protection (verified 2026-09-21)
- Blacksmith pricing (verified 2026-09-21)
- GitHub Actions documentation