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 workloadCircleCI: price rankCodemagic: price rankbochka: 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; bochka 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 bochka 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; bochka 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 bochka has none either.
Can't run itCan't run itCan'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; bochka 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

FeatureCircleCICodemagicbochka
Kind of productGeneral CI and CD platform; jobs start from pipelines in a config fileCI and CD built for mobile apps; builds start from codemagic.yaml or the APIAgent sandboxes you create and drive by API, CLI or SDK
IsolationContainers on the Docker executor; a fresh VM per job on machine, Windows and macOS executorsA new VM per build, destroyed when it completes; macOS on Apple's Virtualization frameworkFull VM with its own kernel on dedicated AMD Ryzen 9 9950X (Zen 5) hosts
How long a machine runs1 hour per job on Free, 3 on Performance, 5 on Scale120 minutes per build on Free, Pay as you go and Fixed price; custom on EnterpriseNo session cap on paid plans; you set the time to live
Files after a runMachine discarded; chosen paths carry over through caches, workspaces and artifactsMachine and disk deleted; only per-workflow dependency caches carry overWhole disk saved every minute and on stop; a stopped sandbox costs nothing
ForkNo fork of a jobNo fork; every build starts from a stock imageFork a running sandbox with its disk
Docker and nested virtualizationDocker and sudo on machine executors; nested virtualization documented on the Android machine imageDocker and Android emulators on Linux; no nested virtualization on macOSDocker, root, systemd and /dev/kvm on every machine
Operating systemsLinux on x86 and Arm, Windows, and macOS on Apple M4 PromacOS on Mac mini M2 and M4, Linux (arm64 on request) and WindowsLinux only (x86-64)
Smallest Linux machine2 vCPU / 7.5 GB (machine medium), with Docker sizes from smallLinux X2 at 8 vCPU / 32 GBSizes from small (2 vCPU / 4 GB) up
Mobile releaseGeneral pipelines; macOS jobs with Xcode for iOS buildsBuilt-in code signing and publishing to App Store Connect, TestFlight and Google PlayNot built in; you script it yourself
GPUsNvidia T4, V100 and other GPU classes on the Scale planNoneNone
Self-hostingSelf-hosted runners, and CircleCI Server on your own Kubernetes on AWS or GCPCloud onlyCloud only
Reaching the machineNo exposed ports; SSH rerun for the user who started it, open 10 minutes after the jobTemporary SSH, VNC or RDP turned on per build, gone 10 minutes after it endsHTTPS URLs on up to 50 ports, token-protected, plus raw TCP and SSH
Desktop and coding agentsHeadless jobs; Chunk starts CircleCI's own agent tasks from a promptVNC or RDP for a person; codemagic-init helps agents on your own computer write workflows60fps desktop with computer use; Claude Code, Codex and more preinstalled, with a prompt, steer and events API
RegionsUS only: AWS us-east-1 and us-east-2, GCP us-east1 and us-central1US data centers; dedicated macOS hosts in the EU on requestEU only (Germany, Finland, France), with EU data residency
Every feature Battleships tracks (43)
FeatureCircleCICodemagicbochka
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationYesYesYes
RootNot publishedNot publishedYes
SystemdNoNoYes
Desktop GUINoYesYes
BrowserYesYesYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskNoNoYes
Pause/resumeNoNoYes
Automatic snapshotsNoNoYes
Fork/cloneNoNoYes
Live fork (no pause)NoNoYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesNoYes
≥24 h sessionsNoNoYes
Idle auto-stopYesYesNo
Wake on requestNoNoNo
HTTPS preview URLsNoNoYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistNoNoNo
Secret proxyNoNoYes
Secret proxy for any APINoNoYes
Preinstalled agentsNoNoYes
Agent harness APIYesNoYes
MCP serverYesNoNo
GPUYesNoNo
WindowsYesYesNo
Arm64YesYesNo
Self-hostingYesNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNot publishedYes
Usage per sandbox (API)YesNoYes
Audit logsYesYesNo
SSOYesYesNo
SOC 2YesYesNo
HIPAANoNoNo
EU data residencyNoYesYes
Zero data retentionNot publishedNot publishedYes

Performance

CircleCINot measured
CodemagicNot measured
bochka26.69 runs/s

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, bochka 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.

ScenarioCircleCI, a monthCodemagic, a monthbochka, 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 bochka 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.

ScenarioCircleCICodemagicbochka
One coding agent, workdays
  • Performance: sessions capped at 3 h
  • missing persistent disk
  • different kind of product: CI runner
  • Free (individual): sessions capped at 2 h
  • missing persistent disk
  • different kind of product: CI runner
  • no persistent disk: files lost when it stops or sleeps
None that bite
One agent that never stops
  • Performance: sessions capped at 3 h
  • missing persistent disk
  • different kind of product: CI runner
  • Free (individual): sessions capped at 2 h
  • missing persistent disk
  • different kind of product: CI runner
  • no persistent disk: files lost when it stops or sleeps
None that bite
50 agents in parallel
  • Performance: sessions capped at 3 h
  • missing persistent disk
  • different kind of product: CI runner
  • Pay as you go (team, 4 concurrent): max 4 concurrent
  • Pay as you go (team, 4 concurrent): sessions capped at 2 h
  • missing persistent disk
  • different kind of product: CI runner
None that bite
Sandboxes for your users
  • Performance: max 80 concurrent
  • different kind of product: CI runner
  • Pay as you go (team, 4 concurrent): max 4 concurrent
  • different kind of product: CI runner
  • smallest size offered is 8 vCPU / 32 GiB
  • egress price not published
None that bite
1,000 short jobs at once
  • Performance: max 80 concurrent
  • different kind of product: CI runner
  • Pay as you go (team, 4 concurrent): max 4 concurrent
  • different kind of product: CI runner
  • smallest size offered is 8 vCPU / 32 GiB
  • egress price not published
  • max 2,400 starts/day (needs ~6,667)
  • max 600 starts/hour (needs ~1,000)
  • bursts above 90 starts/min are queued (a burst of 333 takes ~4 min to start)

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 bochka fits

CircleCI and Codemagic are both CI services, and bochka 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. bochka 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. bochka 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. bochka 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. bochka 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 bochka 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: bochka vs CircleCI and bochka 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. bochka 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. bochka 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. bochka 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 bochka, Claude Code and Codex are preinstalled in a VM that keeps its disk, and you prompt and steer them through an API.

Try bochka

Install the CLI, then run bochka new.

Product preview

More comparisons

Bochka product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.