Runners
How warm starts work Private beta
A warm start lets a GitHub Actions job skip reinstalling dependencies: on Vitko Runners, a run of your default branch saves its setup at a checkpoint step, and later jobs start from their own copy of it. Setup steps still run, but find their work already done. Pull requests use the saved setup and never save anything.
Updated October 17, 2026
What happens, step by step
- You add
vitko-inc/checkpoint@v1right after your job’s setup steps. - A run of your default branch (push, manual or scheduled) reaches the checkpoint. Credentials are removed, and if anything credential-shaped remains, nothing is saved.
- What is saved: installed tools and toolchains, package caches and installed packages in the runner’s home, and Docker images. Your workspace is not saved.
- Later jobs of the repository start from their own copy of that setup. What one job writes is never seen by another.
- After a new commit lands on the default branch, its next run saves a fresh setup.
What CI Bench v1 measured
In CI Bench v1 (measured October 7–11, 2026), Vitko Runners with warm starts and test parallelization was 2.29x faster than GitHub-hosted 2 vCPU; without either feature it was 1.74x faster. Median wall time per job, in seconds:
| Workload | GitHub-hosted 2 vCPU | Vitko Runners | With warm starts and test parallelization |
|---|---|---|---|
| cli | 368 s | 272 s | 140 s |
| codex-lint | 884 s | 404 s | 405 s |
| container | 239 s | 179 s | 178 s |
| fd | 92 s | 49 s | 45 s |
| flask | 23 s | 16 s | 13 s |
| guava | 1167 s | 655 s | 651 s |
| monorepo | 384 s | 180 s | 172 s |
| pydantic | 179 s | 105 s | 69 s |
| ts | 784 s | 372 s | 243 s |
| vite | 603 s | 350 s | 199 s |
| vue | 121 s | 63 s | 32 s |
The last column measures both features together. On cli, ts and vite, most of the difference from plain Vitko Runners comes from test parallelization; warm starts were measured on an earlier Vitko Runners build (see the repository’s list of deviations). Full results: CI Bench v1.
Set it up
Inputs, secrets rules and the setup-script option: Warm starts.