CircleCI vs WarpBuild
CircleCI is a full CI and CD platform: you write its config file, and its pipelines run each job on a fresh container or VM. WarpBuild keeps you on GitHub Actions and only swaps the machine: change the runs-on label and each job gets its own VM, destroyed when the job ends.
The companies and products
CircleCI
CircleCI is a CI and CD platform that runs your pipeline jobs on machines it hosts, or on runners you host.
You describe jobs in a config file, and each job runs on a fresh Docker container or a machine VM (Linux, Arm, Windows, macOS on Apple M4 Pro, or GPU on Scale), then the machine is discarded. Files move between jobs only through caches, workspaces and artifacts. It is a CI service, not an agent sandbox, so this page compares where they overlap: a machine where a job or an agent does its work. CircleCI also has Chunk, a toolkit that starts its own agent tasks in CircleCI Cloud from a prompt.
WarpBuild
WarpBuild sells hosted GitHub Actions runners: you change the runs-on label and your CI jobs run on its machines.
WarpBuild is a CI service, not an agent sandbox. Each GitHub Actions job runs in its own VM on Linux (x86-64 or arm64), Windows or macOS on Apple M4 Pro, and the VM and its disk are destroyed after the build. It also sells remote Docker builders, can run the same runners inside your own AWS, GCP or Azure account, and can host Claude Managed Agents sessions on its stock runners.
Which use cases each one fits
For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “136th cheapest of 377” means 135 of the other 376 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.
| Use case and its workload | CircleCI: price rank | WarpBuild: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A coding agent that builds a whole app needs one machine for hours with its files in place; a CircleCI job stops after 3 hours on Performance, and both wipe the machine when the job ends. | 333rd of 367, with limits $8,692 a month | 269th of 367, with limits $4,343 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month fits neither: CircleCI jobs stop after 5 hours even on Scale and WarpBuild jobs after GitHub's 5 day cap, with no disk kept on either. | 340th of 366, with limits $13,137 a month | 285th of 366, with limits $5,650 a month | 5th cheapest of 366 $657 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month | 285th of 345, with limits $572 a month | 287th of 345, with limits $600 a month | 186th of 345, with limits $2,000 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Your users' sandboxes need a URL to reach their apps; CircleCI jobs expose no ports and WarpBuild runners block all inbound traffic, while bochka gives HTTPS on up to 50 ports. | 316th of 361, with limits $3,702 a month | 278th of 361, with limits $1,890 a month | Cheapest of 361 $209 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 310th of 360, with limits $17,882 a month | 281st of 360, with limits $9,000 a month | 34th of 360, with limits $2,000 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 318th of 364, with limits $2,877 a month | 294th of 364, with limits $1,440 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Both are built for CI: CircleCI ranks 136th as a full pipeline service and WarpBuild ranks 94th as drop-in GitHub Actions runners, while bochka ranks 4th if you run the runner on a sandbox yourself. | 136th cheapest of 377 $4,302 a month | 94th cheapest of 377 $864 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A dev box has to stay up and keep what you installed; CircleCI restores only cached paths and WarpBuild only cache or disk snapshots that expire after 15 days. | 197th of 368, with limits $508 a month | 182nd of 368, with limits $226 a month | 18th cheapest of 368 $26 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Neither has a desktop or a computer-use API, since both run headless CI jobs; bochka streams a 60fps Linux desktop with Chromium. | 320th of 369, with limits $2,589 a month | 264th of 369, with limits $1,320 a month | 6th cheapest of 369 $200 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month | 116th of 367, with limits $1,293 a month | 280th of 367, with limits $720 a month | 7th cheapest of 367 $200 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 70th cheapest of 346 $860 a month | 306th of 346, with limits $878 a month | 6th cheapest of 346 $90 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 274th of 338, with limits $17,532 a month | 275th of 338, with limits $17,550 a month | 71st of 338, with limits $1,800 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 80th of 360, with limits $852 a month | 264th of 360, with limits $435 a month | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month Neither CI service is priced here: CircleCI's GPU classes sit on its custom-priced Scale plan, WarpBuild has no GPUs, and bochka has none either. | Can't run it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month Both run macOS on Apple M4 Pro, CircleCI even on its Free plan one job at a time and WarpBuild at $0.08 a minute; bochka runs Linux only. | 34th of 36, with limits $2,262 a month | 29th of 36, with limits $1,520 a month | Can't run it |
Key features
| Feature | CircleCI | WarpBuild | bochka |
|---|---|---|---|
| Kind of product | A CI and CD platform: pipelines from its own config file start jobs on its machines | Hosted GitHub Actions runners: change runs-on and GitHub sends the job to WarpBuild | Agent sandboxes you create and drive by API, CLI or SDK |
| Isolation | Containers on the Docker executor; a fresh VM per job on machine, Windows and macOS executors | Every job gets its own VM, created on demand and destroyed after the build | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X (Zen 5) hosts |
| How long a machine runs | 1 hour per job on Free, 3 on Performance, 5 on Scale | Until the job ends; GitHub stops a self-hosted runner job after 5 days | No session cap on paid plans; you set the time to live |
| Files after a run | The machine is discarded; caches, workspaces and artifacts copy chosen paths out | The disk is destroyed; cache and disk snapshots (deleted after 15 days) carry state over | The whole disk is saved every minute and on stop; a stopped sandbox costs nothing |
| Fork | No fork of a job | No fork; a later runner can boot from a saved disk snapshot in 45 to 60 seconds | Fork a running sandbox with its disk |
| Docker and nested virtualization | Docker and sudo on machine executors; nested virtualization documented on the Android machine image | Docker on runners; /dev/kvm only on Linux x86-64, turned on with a label | Docker, root, systemd and /dev/kvm on every machine |
| Desktop and computer use | Headless jobs; no desktop or computer-use API | None; runners have no desktop stream | 60fps Linux desktop with Chromium, computer use and browser control, embeddable stream |
| Reaching the machine | No exposed ports; rerun a job with SSH, open for 10 minutes after it ends | All inbound traffic blocked; SSH into failed jobs for debugging | HTTPS URLs for up to 50 ports, token-protected; raw TCP; SSH |
| Coding agents | Chunk starts CircleCI's own agent tasks from a prompt; other agents are job steps you install | Runs Claude Managed Agents sessions on stock runners, driven through Anthropic's API | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Keeping keys out of the machine | Contexts inject secrets as environment variables; OIDC tokens for cloud logins | GitHub secrets are passed into the runner environment | Credentials proxy for model providers and any HTTPS API you register; real keys never enter the sandbox |
| Operating systems and chips | Linux on x86 and Arm, Windows, macOS on Apple M4 Pro with Xcode | Linux x86-64 and arm64, Windows Server 2022 and 2025, macOS on Apple M4 Pro | Linux on x86-64 only |
| GPUs | Nvidia T4, V100 and other GPU classes on the Scale plan | None | None |
| Running it in your own infrastructure | Self-hosted runners, or the whole platform as CircleCI Server on your own Kubernetes | BYOC runners in your own AWS, GCP or Azure account, with your network rules and static egress IPs | Hosted only, on bochka's own machines in the EU |
| Regions | US only: AWS us-east-1 and us-east-2, GCP us-east1 and us-central1 | WarpBuild's cloud, a hosted EU region on the enterprise tier, or your own cloud account | EU only (Germany, Finland, France), with EU data residency and zero data retention |
Every feature Battleships tracks (43)
| Feature | CircleCI | WarpBuild | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | Yes | Yes |
| Root | Not published | Yes | Yes |
| Systemd | No | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | Yes | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | No | No | Yes |
| Pause/resume | No | No | Yes |
| Automatic snapshots | No | No | Yes |
| Fork/clone | No | No | Yes |
| Live fork (no pause) | No | No | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | No | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | Yes | Yes |
| Agent harness API | Yes | No | Yes |
| MCP server | Yes | Yes | No |
| GPU | Yes | No | No |
| Windows | Yes | Yes | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | Yes | No | No |
| BYOC | No | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Yes | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | Yes | Yes | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | No | No |
| EU data residency | No | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
We have no comparable measurement for CircleCI or WarpBuild: neither was part of the StarSling hpc-sandbox-benchmarks run. On that Node.js build-and-test benchmark at 4 vCPU / 8 GB, bochka did 26.69 runs per second on dedicated AMD Ryzen 9 9950X (Zen 5) hosts. WarpBuild's own speed claims compare its runners with GitHub's, not with CircleCI or bochka.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. CircleCI and WarpBuild have no published run in this suite yet, so there is no like-for-like number to compare.
Pricing in five scenarios
Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.
| Scenario | CircleCI, a month | WarpBuild, a month | bochka, a month |
|---|---|---|---|
| One coding agent, workdays 4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days | $96 · Performance · with limits | $57 · Pay as you go · with limits | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $508 · Performance · with limits | $237 · Pay as you go · with limits | $26 · $20/mo |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $5,714 · Performance · with limits | $2,851 · Pay as you go · with limits | $317 · $20/mo × 3 seats |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $1,617 · Performance · with limits | $810 · Pay as you go · with limits | $200 · $100/mo × 2 seats |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $3,562 · Performance · with limits | $1,800 · Pay as you go · with limits | $2,000 · $2000/mo · with limits |
CircleCI: CircleCI bills credits per minute for the machine class a job uses: Free includes 30,000 credits, Performance starts at $15 a month with 30,000 credits and more at $15 per 25,000, and Scale is custom and annual. Active users beyond 5 also cost credits.
WarpBuild: WarpBuild has no plan fee and bills runners per minute while a job runs, for example $0.006 a minute for 4 vCPU and 16 GB on Linux. Cache, snapshot storage and restores are extra, and BYOC runners cost $0.002 a minute on top of your cloud bill.
WarpBuild: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Neither CI service fits the agent scenarios as sold, because both keep no disk after a job. CircleCI also stops a job after 3 hours on Performance and runs at most 80 jobs at once, so 300 user sandboxes and 1,000 short jobs wait in the queue. WarpBuild jobs can run up to GitHub's 5 day cap and it advertises unlimited Linux concurrency, but the 300 and 1,000 machine counts are unconfirmed and egress pricing is not published. On bochka, the 1,000-job burst is limited by starts per minute and per day, so it is queued even on the $2,000 plan.
| Scenario | CircleCI | WarpBuild | bochka |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use CircleCI when
you want a complete CI platform with its own pipelines, GPUs for tests, macOS, Windows or Arm machines, or the whole service hosted on your own Kubernetes.
- A whole CI platform. Useful if you want one service for CI: pipelines, caches, workspaces, test splitting and orbs, not tied to GitHub Actions.
- GPUs for tests. Useful if your tests need a GPU: the Scale plan adds Nvidia classes such as T4 and V100.
- The whole service on your own cluster. Useful if CI must run entirely in-house: CircleCI Server installs the full platform on your own Kubernetes on AWS or GCP.
Use WarpBuild when
you already run GitHub Actions and want faster runners on Linux, Windows or macOS, paid by the minute, in its cloud or your own.
- Drop-in GitHub Actions. Useful if you already use GitHub Actions: change one runs-on label and keep every workflow as it is.
- Pay only for job minutes. Useful if usage swings: no plan fee, billed per minute while a job runs, with unlimited concurrency on Linux and Windows.
- Runners in your own cloud. Useful if CI must sit in your AWS, GCP or Azure account, behind your security groups and fixed egress IPs.
Where bochka fits
CircleCI and WarpBuild are both CI services, and bochka is not one: it has no pipeline service and no managed runners. If what you are really running is agents, though, both give each one a machine that lives for one job and is then thrown away. bochka gives the agent a full Linux VM that keeps its disk, can be reached from outside, and ships coding agents you drive from outside.
A machine that keeps its work
A CircleCI job stops after 3 hours on Performance and WarpBuild's disk is destroyed when the job ends. The workarounds are caches and workspaces, or WarpBuild disk snapshots billed per hour that expire after 15 days. bochka saves the whole disk every minute.
Apps and desktops you can open
CircleCI exposes no ports and WarpBuild blocks all inbound traffic, so nobody can open the app an agent built. The only way in is a debug SSH session. bochka gives HTTPS on up to 50 ports, raw TCP and a 60fps desktop.
Coding agents you drive from outside
On CircleCI you get Chunk's own tasks, on WarpBuild only Claude Managed Agents, and on both your secrets sit in the job's environment. bochka preinstalls Claude Code, Codex and more, and its credentials proxy keeps real keys out.
Use bochka when what you are really running is agents on Linux for hours or days: one full VM that keeps its disk, Docker and /dev/kvm, a 60fps desktop, URLs you can reach, and coding agents you drive from outside. Compare it one to one: bochka vs CircleCI and bochka vs WarpBuild.
Questions people ask
Is CircleCI cheaper than WarpBuild?
In every scenario we priced, WarpBuild comes out lower: one coding agent on workdays is $57 a month on WarpBuild against $96 on CircleCI, and 50 agents in parallel $2,851 against $5,714. bochka comes to $20 and $317 for the same work. None of these fit either CI service as sold, since their machines live for one job.
Which is faster, CircleCI or WarpBuild?
We have no comparable CPU measurement for either one. Neither was part of the StarSling benchmark, where bochka did 26.69 runs per second at 4 vCPU / 8 GB.
Can CircleCI and WarpBuild run Docker?
Yes. CircleCI has a Docker executor and Docker with sudo on its machine executors, and WarpBuild runners have Docker plus remote Docker builders. For nested virtualization, CircleCI documents it on its Android machine image and WarpBuild turns on /dev/kvm with a label on Linux x86-64. bochka has Docker, systemd and /dev/kvm on every machine.
How long can a job run on CircleCI and WarpBuild?
CircleCI stops a job after 1 hour on Free, 3 on Performance and 5 on Scale. WarpBuild registers as a self-hosted GitHub runner, so its jobs run under GitHub's 5 day cap. bochka has no session cap on paid plans.
Do both run macOS and Windows?
Yes. Both run macOS on Apple M4 Pro, Windows, and Linux on Arm as well as x86. bochka runs Linux on x86-64 only.
Can I run AI coding agents on CircleCI or WarpBuild?
Yes, within a job: CircleCI's Chunk starts its own agent tasks, and WarpBuild can host Claude Managed Agents sessions on stock runners. Either way the machine is torn down when the session ends. On bochka, Claude Code and Codex are preinstalled on a VM that keeps its disk.
Try bochka
Install the CLI, then run bochka new.
Product preview