CircleCI vs Codemagic
CircleCI is a general CI and CD platform: pipelines run jobs on Linux, Arm, Windows, macOS or GPU machines, and you can host runners or the whole service yourself. Codemagic is CI built for mobile apps: each build gets a fresh Mac mini, Linux or Windows machine, and it signs and publishes your app to the stores.
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.
Codemagic
Codemagic is a cloud CI/CD service built for mobile developers: it builds, tests and publishes iOS, Android, Flutter and React Native apps.
You describe a workflow in codemagic.yaml, and each build runs on a new virtual machine: an Apple silicon Mac mini with Xcode, an Ubuntu Linux machine, or a Windows machine. The machine is destroyed when the build finishes, and the result can go straight to App Store Connect, Google Play and other stores. It is built for app teams that want builds and code signing handled for them; it is a different kind of product from an agent sandbox, and the two overlap only where an agent needs a machine for a short, scripted job.
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 | Codemagic: price rank | boat: 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; CircleCI stops a job after 3 hours on Performance and Codemagic after 120 minutes, and both discard the machine. | 333rd of 367, with limits $8,692 a month | 362nd of 367, with limits $32,718 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 340th of 366, with limits $13,137 a month | 364th of 366, with limits $98,550 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 | 337th of 345, with limits $9,147 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 Sandboxes for your users need many at once and a URL to open; CircleCI Performance runs up to 80 jobs at once, Codemagic sells build slots at $49 each, and neither exposes ports. | 316th of 361, with limits $3,702 a month | 349th of 361, with limits $28,497 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 | 336th of 360, with limits $135 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 | 363rd of 364, with limits $10,947 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 General CI is CircleCI's home ground and it fits fully here, while Codemagic's smallest Linux machine is 8 vCPU / 32 GB; boat runs CI jobs on full VMs that keep a warm disk. | 136th cheapest of 377 $4,302 a month | 207th of 377, with limits $3,387 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; both services start every job from an image, while a boat sandbox keeps its disk when stopped. | 197th of 368, with limits $508 a month | 191st of 368, with limits $333 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 CircleCI jobs are headless and Codemagic only offers VNC or RDP for a person to debug a build; boat streams a 60fps desktop an agent can drive. | 320th of 369, with limits $2,589 a month | 71st of 369, with limits $10,047 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 | 151st of 367, with limits $10,947 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 | 148th of 346, with limits $13,310 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 | 337th of 338, with limits $263 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 | 95th of 360, with limits $6,672 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 is priced here: CircleCI's GPU classes sit on its custom-priced Scale plan, Codemagic has no GPUs, and boat 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 silicon: CircleCI on M4 Pro with Xcode, Codemagic on Mac mini M2 and M4 with Xcode and iOS simulators; boat runs Linux only. | 34th of 36, with limits $2,262 a month | 32nd of 36, with limits $1,952 a month | Can't run it |
Key features
| Feature | CircleCI | Codemagic | boat |
|---|---|---|---|
| Kind of product | General CI and CD platform; jobs start from pipelines in a config file | CI and CD built for mobile apps; builds start from codemagic.yaml or the API | 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 | A new VM per build, destroyed when it completes; macOS on Apple's Virtualization framework | 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 | 120 minutes per build on Free, Pay as you go and Fixed price; custom on Enterprise | No session cap on paid plans; you set the time to live |
| Files after a run | Machine discarded; chosen paths carry over through caches, workspaces and artifacts | Machine and disk deleted; only per-workflow dependency caches carry over | Whole disk saved every minute and on stop; a stopped sandbox costs nothing |
| Fork | No fork of a job | No fork; every build starts from a stock image | 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 and Android emulators on Linux; no nested virtualization on macOS | Docker, root, systemd and /dev/kvm on every machine |
| Operating systems | Linux on x86 and Arm, Windows, and macOS on Apple M4 Pro | macOS on Mac mini M2 and M4, Linux (arm64 on request) and Windows | Linux only (x86-64) |
| Smallest Linux machine | 2 vCPU / 7.5 GB (machine medium), with Docker sizes from small | Linux X2 at 8 vCPU / 32 GB | Sizes from small (2 vCPU / 4 GB) up |
| Mobile release | General pipelines; macOS jobs with Xcode for iOS builds | Built-in code signing and publishing to App Store Connect, TestFlight and Google Play | Not built in; you script it yourself |
| GPUs | Nvidia T4, V100 and other GPU classes on the Scale plan | None | None |
| Self-hosting | Self-hosted runners, and CircleCI Server on your own Kubernetes on AWS or GCP | Cloud only | Cloud only |
| Reaching the machine | No exposed ports; SSH rerun for the user who started it, open 10 minutes after the job | Temporary SSH, VNC or RDP turned on per build, gone 10 minutes after it ends | HTTPS URLs on up to 50 ports, token-protected, plus raw TCP and SSH |
| Desktop and coding agents | Headless jobs; Chunk starts CircleCI's own agent tasks from a prompt | VNC or RDP for a person; codemagic-init helps agents on your own computer write workflows | 60fps desktop with computer use; Claude Code, Codex and more preinstalled, with a prompt, steer and events API |
| Regions | US only: AWS us-east-1 and us-east-2, GCP us-east1 and us-central1 | US data centers; dedicated macOS hosts in the EU on request | EU only (Germany, Finland, France), with EU data residency |
Every feature Battleships tracks (43)
| Feature | CircleCI | Codemagic | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | Yes | Yes |
| Root | Not published | Not published | Yes |
| Systemd | No | No | Yes |
| Desktop GUI | No | Yes | Yes |
| Browser | Yes | Yes | 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 | No | Yes |
| ≥24 h sessions | No | No | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | No | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | No | Yes |
| Agent harness API | Yes | No | Yes |
| MCP server | Yes | No | No |
| GPU | Yes | No | No |
| Windows | Yes | Yes | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | Yes | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Yes | Yes | 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 CPU measurement for CircleCI or Codemagic: neither was part of the StarSling hpc-sandbox-benchmarks run. On that Node.js build-and-test benchmark at 4 vCPU / 8 GB, boat did 26.69 runs per second on dedicated AMD Ryzen 9 9950X (Zen 5) hosts. Codemagic also sells fixed sizes, so it has no 4 vCPU / 8 GB machine to set beside the others.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. CircleCI and Codemagic 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 | Codemagic, a month | boat, 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 | $333 · Free (individual) · 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 | $333 · Free (individual) · 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 | $21,531 · Pay as you go (team, 4 concurrent) · 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 | $12,297 · Pay as you go (team, 4 concurrent) · 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 | $27,147 · Pay as you go (team, 4 concurrent) · with limits | $2,000 · $2000/mo · with limits |
CircleCI: CircleCI bills credits per minute for the machine class a job uses: Performance starts at $15 a month with 30,000 credits, and more cost $15 per 25,000. A 4 vCPU / 15 GB Linux machine uses 20 credits a minute, and Scale is custom and billed annually.
Codemagic: Codemagic bills build minutes: $0.095 a minute on a Mac mini M2, $0.114 on an M4 and $0.045 on Linux X2 or Windows. Each extra build at once costs $49 a month, and fixed annual plans start at $3,990 a year for unlimited minutes on 3 builds at once.
Codemagic: 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 service fits any of the five agent scenarios as priced, because both are CI runners whose machines stop and are thrown away: CircleCI after 3 hours on Performance, Codemagic after 120 minutes. CircleCI Performance runs up to 80 jobs at once, so 300 user sandboxes or 1,000 short jobs wait in its queue. Codemagic's Pay as you go plan as priced runs 4 builds at once on 8 vCPU / 32 GB machines, which is why its fleet and burst numbers climb so high. On boat only the 1,000-job burst does not fit: it needs more starts per day than the $2,000 plan allows, so it is queued.
| Scenario | CircleCI | Codemagic | boat |
|---|---|---|---|
| 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 need one CI platform for Linux, Arm, Windows and macOS builds, GPUs for tests, many jobs at once, or CI you host yourself.
- One CI platform for every kind of build. Useful if you build more than mobile apps: CircleCI runs Linux, Arm, Windows and macOS jobs from one pipeline config.
- CI you can host yourself. Useful if builds must run on your hardware: self-hosted runners, or the whole CircleCI Server on your own Kubernetes.
- GPUs and many jobs at once. Useful if your tests need a GPU or wide fan-out: Scale adds Nvidia GPUs, and Performance runs up to 80 jobs at once.
Use Codemagic when
you build, sign and publish iOS, Android or Flutter apps and want Mac minis with Xcode and store publishing handled for builds that finish within two hours.
- A mobile release pipeline built in. Useful if you ship mobile apps: Codemagic signs Flutter, React Native and native apps and publishes them to App Store Connect and Google Play.
- Mac minis with iOS simulators ready. Useful if you build iOS apps: Mac mini M2 and M4 machines come with current Xcode and iOS simulator runtimes preinstalled.
- Simple per-minute Mac billing. Useful for small app teams: you pay per build minute, and individuals get 500 free Mac mini M2 minutes a month.
Where boat fits
CircleCI and Codemagic are both CI services, and boat is not one. If what you are really running is agents, on either service an agent becomes a job step that ends within hours on a machine that is then thrown away. boat gives each agent a full Linux VM that keeps running and keeps its disk, with ports you can open and coding agents you drive from outside.
A machine that outlives the job
CircleCI stops a job after 3 hours on Performance and Codemagic a build after 120 minutes, then both discard the machine. Caches and workspaces save chosen paths, but the agent rebuilds everything else each run. boat saves the whole disk every minute, has no session cap on paid plans, and can fork a running sandbox.
Work you can open from outside
Neither service exposes ports: you get a short SSH rerun on CircleCI, or SSH, VNC and RDP turned on per build on Codemagic, gone 10 minutes after it ends. boat gives HTTPS on up to 50 ports, raw TCP and a 60fps desktop an agent can drive.
Agents you steer, keys they cannot read
On both services an agent is a build step you read through logs, and secrets arrive as environment variables it can read. boat preinstalls Claude Code and Codex with a prompt, steer and events API, and its credentials proxy keeps real keys for any HTTPS API out of the machine.
Use boat when what you are 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: boat vs CircleCI and boat vs Codemagic.
Questions people ask
Is CircleCI cheaper than Codemagic?
It depends on the build. On Linux, CircleCI has smaller machines, while Codemagic's smallest Linux machine is 8 vCPU / 32 GB at $0.045 a minute. For macOS agents in our table Codemagic comes out lower, at $1,952 a month against $2,262 on CircleCI.
Which is better for iOS and Flutter apps?
Both run macOS on Apple silicon with Xcode. Codemagic is built around mobile releases, with code signing and publishing to App Store Connect, TestFlight and Google Play. CircleCI runs macOS on M4 Pro inside a general pipeline you set up yourself.
Which is faster?
We have no comparable CPU measurement for either one. boat did 26.69 runs per second on the StarSling Node.js benchmark at 4 vCPU / 8 GB.
Can CircleCI and Codemagic run Docker?
Yes. CircleCI runs Docker and sudo on its machine executors, and Codemagic runs Docker and Android emulators on its Linux machines. Codemagic's Macs have no nested virtualization, so Android emulators do not run there. boat has Docker and /dev/kvm on every machine.
How long can a build run?
CircleCI stops a job after 1 hour on Free, 3 on Performance and 5 on Scale. Codemagic stops a build after 120 minutes on its self-serve plans. boat has no session cap on paid plans.
Can I run AI coding agents on CircleCI or Codemagic?
Only as a step inside a job or build, with keys passed in as environment variables, and the run ends with the job. CircleCI's Chunk starts its own agent tasks from a prompt. On boat, Claude Code and Codex are preinstalled in a VM that keeps its disk, and you prompt and steer them through an API.
Try boat
Install the CLI, then run boat new.
7-day free trial