4× cheaperCI/CD for GitHub.
Runtime$50
Blacksmith$120
GitHub Actions$180
Depot$180
CircleCI$180
Buildkite$240
Works with your stack
Next to the namesyou know.
From each one's own pricing page and docs, read 22 Oct 2026; seats read 6 November 2026. How CI/CD works
Built for checks.Nothing to configure.
- 01No config to writeIt reads your repository and runs the steps it finds.
- 02Starts already set upEach pull request starts from a ready copy of main.
- 03Tests split evenlyTests are split into parts that finish at the same time.
- 04Only affected tests runTests a change can’t reach keep their last pass.
- 05Flaky tests flaggedA failed test runs again alone; if it passes, it is marked flaky.
- 06Pay by the second$0.001 per vCPU-minute with 4 GiB each, and no minimum.
Keep your pipeline.Connect once.
- 01Sign inStart free, no card.
- 02Connect your repositoryOne command, below.
- 03Your pipeline runsIts own file, as it is.
npx withruntime ci connect acme/webKept .circleci/config.yml, as it is
Ready for production.From your first check.
29,000+
SDK installs last month, on npm and PyPI
- FirecrackerThe isolation behind AWS Lambda
- Your own keyEncrypted per organization
- Secrets stay outsideAdded on the way out
- SSO and audit logSAML, OIDC and SCIM
Questions.Answered.
Anything else? Ask us
Do I need a config file?
No. Runtime finds the steps of a bun, npm, pnpm or yarn project, of Python with uv, poetry or pip, of Go, Rust and Docker. A runtime.yml at the repository's root names them yourself, and can split a step's test files across machines.
What does it cost?
$0.001 a vCPU-minute, with 4 GiB of memory per vCPU, billed by the second with no minimum and no seats. The default machine is 4 vCPU and 16 GiB, $0.004 a minute. In the head to head, no run cost more than 1/4 of GitHub's list price for the same job.
Where do the times on this page come from?
We timed them on real sandboxes on 18 Oct 2026. Our own repository (format, lint, types and 245 test files) checked a pull request in 149.2 seconds, and in 42 the second time, against 4:48 to 7:30 on our old merge check. A small public one, pallets/itsdangerous, checked a pull request in 2.5 seconds; its first check, set up from nothing, took 29.9.
What does a warm start keep, and is it safe?
The machine as it was right after setup on your production branch, keyed to that setup and your lockfile. A pull request forks it and is sent only the files it changed, so nothing is cloned and no GitHub token reaches the machine. Only a push to the production branch makes one, never a pull request, even from a fork.
What happens to flaky tests?
Each test file runs as a task of its own. One that fails is run again alone; if it passes there, the check passes and names the file as flaky, never as a silent pass.