CI runners + Terraform runs

Your tests and your infrastructure, on one timeline

Fast GitHub Actions runners and OpenTofu runs on one platform. One meter, one bill, and a single view of everything a commit set in motion. Pay for the compute you used — not per seat, not per resource.

The change you make
.github/workflows/ci.yml
jobs: test: - runs-on: ubuntu-latest + runs-on: runners-2vcpu-ubuntu-2404

One line for CI. A hostname for infrastructure. We open the pull request for you.

What we can prove

Three numbers, with the working shown

$0.003/min
2 vCPU Linux

The category settled on $0.004. We run on high-clock bare metal we buy rather than rent, so the same job costs a quarter less before it has run any faster.

Our published rate. Compare against any competitor's pricing page.

10×cheaper
Cache and storage add-ons

Cache and sticky-disk storage is $0.05/GB-month against $0.50 elsewhere, and a static IP is $10/month against $100. Storage on disks we already own should not be a margin business.

Our rate card against Blacksmith's published pricing, Aug 2026.

1meter
For CI and infrastructure

A test suite and a terraform apply draw from the same allowance at the same rate, because they are the same thing: minutes on a sized machine. One bill, one number to forecast.

1 run-minute = one minute of a 2 vCPU / 8 GiB machine.

What you will not find here is a speed multiplier. We run on faster hardware and we believe your jobs will finish sooner — but until we have published a benchmark you can re-run, with the repository, the commit, the machine size and the cache state written down, we are not going to put a number on it. Everyone else's is modelled.

One timeline

The apply and the tests that preceded it, on one screen

One commit. Two test jobs and a production apply, joined by the SHA that caused them. When a deploy goes wrong at 4pm, the run that let it through is the row above it — not a different tab, a different vendor and a different bill.

a3f9c21Add rate limiting to the ingest endpointj.okafor · 6m ago
CItest-suite · 2 vCPU4m 12sPassed
CIbuild-docker · 8 vCPU2m 48sPassed
Infraprod-eu-west · apply+3~10Running

Nobody else can show you this. A CI vendor sees your tests and stops at the merge. A Terraform platform sees your infrastructure and has no idea what produced it. We run both, so the causal chain survives — and so does the bill, which arrives once, in one unit, for both.

One meter

You pay for compute you actually used

$10 per organisation per month, including an allowance of run-minutes, then per minute above it. No per-seat charge — invite everyone. No per-resource charge — your estate can be as large as it likes.

One unit, both engines
1 run-minute = one minute of a 2 vCPU / 8 GiB machine 4 vCPU = 2 run-minutes per minute 16 vCPU = 8 run-minutes per minute a test suite ─┐ ├─ same allowance, same rate a terraform apply ─┘

What we deliberately do not bill you for

Queue wait. Sandbox cold start. Provider downloads from our mirror. Control-plane API calls. State reads and writes.

That list exists because a minute-based meter has an obvious hazard: if the platform is slow, we get paid more. So the clock starts when your code starts and stops when it exits. Every second of latency we introduce is on our side of the line, and every second we remove costs us money. You should not have to take our word for it — the meter is built so the incentive runs the right way on its own.

Feature parity

What matches, what we add, and what we do not have yet

Verified August 2026

Your workflows do not change. Same YAML, same actions, same secrets, same logs in the GitHub UI — you change the runner label and everything else carries on working.

Same as GitHub-hosted runners
  • Your existing workflow files
    One label changes. Nothing else.
  • actions/cache
    Drop-in. We serve it from the same data centre as the job.
  • Secrets, environments, OIDC
    Handled by GitHub, untouched by us.
  • Status checks and branch protection
    Reported back the same way.
  • Matrix builds, reusable workflows, composite actions
  • Job logs in the GitHub UI
    Plus ours, which are searchable.
  • One clean VM per job
    Firecracker microVM under a jailer, destroyed after. Never reused.
What we add
  • $0.003/min at 2 vCPU
    Against GitHub's $0.008 for the same size.
  • Docker layer cache that persists across runs
    Including RUN --mount=type=cache contents.
  • Static egress IP
    $10/month. Blacksmith charge $100.
  • Cache hit rate, not just cache size
    GitHub tells you neither.
  • Higher single-core clock
    Bare metal we buy rather than rent.
  • The same bill as your Terraform runs
Not yet
  • macOS and Windows runners
    GitHub has both. We are Linux x64 today.
  • ARM64
    Planned. GitHub has it now.
  • GPU runners
    Not on our roadmap.
  • Larger runners above 16 vCPU
    32 vCPU planned.
  • Queryable log search, monitors, test analytics
    Being built. Blacksmith has all three today; GitHub has none of them.
  • SSH into a running job
    Planned.
  • GitHub Enterprise Server
    Cloud only.

The third column is the one worth reading. Every platform comparison you have seen lists only the first two, which is why none of them help you decide. If something in that column is load-bearing for you, we would rather you found out here than three weeks into a migration.

Where we actually differ

Including the rows where we are simply level

A comparison table that wins every row is not a comparison, it is a brochure. Here is where we are genuinely ahead, and where a competitor or your own hardware matches us.

Capabilityrunners.ioCI vendorsTerraform platformsSelf-hosted
CI runs and infrastructure runs on one timeline

Requires running both. Nobody else does.

YesNoNoNo
One meter across bothYesN/aN/aNo
Billed per resource under management

HCP Terraform charges for the size of your estate, whether or not you touch it.

NeverN/aYesNo
Per-seat pricingNeverNoVariesNo
EU region available today

Blacksmith's region selector offers US West only; the rest are marked Soon (Aug 2026).

YesNot yetYesYes
State diff, rollback and recovery window

HCP Terraform's states screen is a flat list of version IDs.

YesN/aNoNo
Cache hit rate, not just cache sizeYesNoN/aBuild it
One microVM per job, destroyed after

Genuinely equal. Firecracker under a jailer, never reused between jobs.

YesYesYesDepends
Single-core performance

Self-hosted bare metal matches this. Anyone claiming otherwise is selling you something.

YesYesN/aYes
Someone else runs it at 3amYesYesYesNo

Getting here

We open the pull request. You review it.

Connect your GitHub organisation, pick the repositories, and we raise a pull request that changes the runner labels and the Docker build steps. Nothing runs on our machines until you merge it, and reverting is the same button any other PR has.

  1. 01Connect GitHub
    You choose which repositories we can see.
  2. 02We scan your workflows
    And show you the exact diff before anything is opened.
  3. 03Review the pull request
    Merge it, or close it and nothing has changed.
Start freeA card is required — free compute with internet egress attracts miners, and we would rather say why than pretend otherwise.