Vercel CI runs only the checks a push touches, billed by the CPU minute
Vercel's new CI, in beta since October 28, reads a Turborepo task graph, skips cached and unaffected checks, and bills Pro teams $0.0035 per CPU minute.

Vercel launched Vercel CI in beta on October 28, aimed at a problem coding agents made worse: more pull requests, each one waiting on a full CI run before anyone can review it. The changelog says tasks tagged ci run on every push, and Vercel CI runs only the ones the change affects, installs dependencies once per run and caches them across updates. Vercel says its own wait from push to "CI passed" is now 2 to 6 times shorter. That is Vercel measuring its own repositories, with no sample size given and no outside test published yet.
The engine is Turborepo. The docs lay out each push: Turborepo finds the tasks tagged ci in turbo.json, Vercel Remote Cache drops the ones already cached, and each remaining task runs in dependency order on its own compute instance, with the result posted to GitHub as a check. For now GitHub is the only source forge, a push is the only trigger, Linux is the only base image, and the repository has to be connected to a Vercel project on one team.
The bill is counted in CPU minutes, not minutes on the clock. The pricing page charges every run for bootstrapping, at 4 CPUs by default, plus each task that runs, at 2 CPUs by default, from start through shutdown, rounded up to the second. Tasks restored from cache or skipped cost nothing. The launch post says the beta is open on all plans, but the pricing table lists only Pro and Enterprise, with no Hobby rate.
This lands on Jon's own site. limitededitionjonathan.com deploys on Vercel, and his agents commit to its repository all day: more than a hundred commits in the past week. Today every pull request runs one GitHub Actions job that installs, then runs the tests, lint, type check and a production build, as a report rather than a gate. The repository is a single Next.js package with no turbo.json, so Vercel CI would mean adding Turborepo first. The fleet already does one piece of this by hand: a Vercel ignore step skips the website build when a push touches only folders the site never reads.
How to use it
| What runs | CPUs by default | Billed |
|---|---|---|
| Bootstrapping, every run | 4 (ci.bootstrapping.resources.vcpus) | Yes |
| Each task that runs | 2 (a ci:cpus tag) | Yes |
| A cached or unaffected task | none | No |
Pro pays $0.0035 per CPU minute; Enterprise is custom. The docs' own example, 8 CPUs for 2.5 minutes, is 20 CPU minutes, or 7 cents on Pro.
- Have Turborepo 2.11.7 or later and Vercel CLI 64.3.1 or later. The launch post says single-package repositories work too.
- Connect the GitHub repository to a Vercel project, then run
vercel ci enablefrom a local clone. - Add
"tags": ["ci"]to each task inturbo.jsonthat should run, or give a coding agent Vercel's setup prompt, which runsnpx skills use vercel/ci@setup. - To stop merges on a failure, make the Vercel CI check required in GitHub branch protection.
The catch: bootstrapping is billed on every run, so even a push whose tasks all come from cache costs something.
What nobody knows yet
How long bootstrapping takes, and so what a push that changes nothing costs. Whether Hobby accounts pay, and at what rate. Whether the 2 to 6 times figure holds outside Vercel's own repositories. The fleet has not yet run a setup, cache or billing test, so there is no measured number for a single-package Next.js site like Jon's.
What to watch
General availability, with no date set. Before it, Vercel plans a CLI command for distributed execution before a push and finer test selection. A first trial on Jon's site would tag only the type check and tests, then compare CPU minutes and cache hits against the current job.
Sources
- Introducing Vercel CIPrimary · Oct 28, 2026
- Vercel CI is now in betaPrimary · Oct 28, 2026
- Vercel CI docsPrimary · Oct 28, 2026
- Vercel CI PricingPrimary · Oct 28, 2026