Celesto CI
The cheapest way to run your GitHub Actions
A drop-in replacement for GitHub Actions runners, nearly 90% cheaper per minute on the same hardware.
− runs-on: ubuntu-latest+ runs-on: celestoWhat would your CI cost?
Micro is 96% cheaper per minute than GitHub’s standard runner but is a smaller machine; on matching 2 vCPU / 8 GB hardware, Memory is 89% cheaper.
20,000 runtime minutes per month on Celesto Memory
$13.33/ month
$120.00 on GitHub standard at the same runtime.
| Linux runner | Per month |
|---|---|
| Celesto Memory2 vCPU / 8 GB · $0.00067/min | $13.33 |
| GitHub standard 2 vCPU / 8 GB · $0.006/min | $120.00 |
| Depot 2 vCPU / 8 GB · $0.006/min | $120.00 |
| Blacksmith 2 vCPU / 8 GB · $0.004/min | $80.00 |
| Ubicloud 2 vCPU / 8 GB · $0.002/min | $40.00 |
Estimated runtime cost multiplies runtime minutes by published paid per-minute rates, checked in 2026: Ubicloud on October 12, Blacksmith on October 15, GitHub on October 17, and Depot on October 30. All rows exclude free allowances and credits, including Celesto’s $5 trial. Estimates also exclude discounts, subscriptions, storage, and billing rounding and assume the same runtime on every machine. Rates compare list prices, not equivalent hardware, performance, or total bills. Micro works out to about $0.00000417 per second of runtime. Celesto runtime includes runner preparation and cleanup, not just your test steps. The $5 trial is one-time and expires after 30 days.
Hardware sources: GitHub · Blacksmith · Depot · Ubicloud.
CI runs at the scale of AI agents.
Coding agents open pull requests faster than teams can review them, and every push runs your workflows. Celesto runs those jobs for nearly 90% less per minute than GitHub’s standard runner, on the same hardware.
Open source
Built on open source.
Every CI job runs in a Celesto sandbox, booted by the same microVM you can self-host from our Apache-2.0 repository.
Read the code, run it on your own machines, or let Celesto Cloud run it for you.
Star on GitHub1k starsYour workflow · GitHub Actions
runs-on: celestoCelesto CI · Receives the job from GitHub and starts a runner in Celesto Cloud
Celesto sandbox · A fresh Ubuntu x64 machine for every job, Micro to XL
Celesto microVM
Open source
Faster checks with up to 25 GiB of cache.
Works with actions/cache and setup-node/setup-python caching. No workflow changes needed.
Cache storage included: 25 GiB per repo with paid or promotional credit, 5 GiB on the trial.
Cache entries expire after 7 idle days. Docker builds can reuse layers across jobs with BuildKit’s type=gha cache, using the same storage allowance.
Read the dependency caching guide → runs-on: celesto
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
+ cache: npm
+ cache-dependency-path: package-lock.json
- run: npm ci
- run: npm test
Choose your runner size.
Every size uses a fresh Ubuntu 24.04 Linux x64 machine. Set one Celesto size label in your workflow. Runtime includes preparation and cleanup. The $5 trial covers Micro; other sizes use workspace credit.
| Size / label | vCPU | RAM | Disk | Per minute | Per hour |
|---|---|---|---|---|---|
Microcelesto-micro | 1 | 2 GB | 20 GB | $0.00025 | $0.015 |
Smallcelesto-small | 1 | 4 GB | 25 GB | $0.00033333 | $0.020 |
Standardcelesto-standard | 2 | 4 GB | 30 GB | $0.0005 | $0.030 |
Memorycelesto-memory | 2 | 8 GB | 40 GB | $0.00066667 | $0.040 |
Largecelesto-large | 4 | 16 GB | 60 GB | $0.00133333 | $0.080 |
XLcelesto-xl | 8 | 32 GB | 100 GB | $0.00266667 | $0.160 |
What your job runs on.
Supported
- A fresh Ubuntu Linux x64 machine for every job
- Choose Micro, Small, Standard, Memory, Large, and XL in setup.
- Docker builds, Compose, and GitHub service containers
- Job status and logs in GitHub Actions
Not supported
- Windows, macOS, and ARM runners are not supported.
- GitHub’s hosted runner image — install the tools your job needs
Before your first run.
Do I need a Celesto account?
Yes. Install the Celesto CI GitHub App, sign in or create a Celesto account, and link the installation to a workspace where you are an admin. Installing the App alone does not enable runners.
How do I switch my GitHub Actions workflow?
Select your repository in the GitHub App installation, finish Celesto setup, then replace runs-on: ubuntu-latest with runs-on: celesto. Keep compatible workflow steps and push a commit. Follow the result in GitHub Actions.
Which runner sizes can I use?
Choose Micro, Small, Standard, Memory, Large, or XL by setting runs-on to a single Celesto size label, such as celesto-large. Memory provides 2 vCPU and 8 GB RAM for a hardware-matched comparison with GitHub’s standard Linux runner. The trial runs Micro only.
What is preinstalled?
The Ubuntu 24.04 Linux x64 image includes the official GitHub Actions runner, Git, Python 3.12 with pip and uv, Node.js 24 with npm and pnpm, C/C++ build tools, Docker Engine, Buildx, Compose, ripgrep, fd, jq, and the Pi coding agent. Install any additional tools or project dependencies in your workflow. This is Celesto’s CI image, not GitHub’s hosted runner image.
Can I use Docker, Windows, macOS, or ARM?
Docker is supported. Linux x64 runners include Docker Engine, Buildx, and Compose. Docker image builds, Compose workflows, and GitHub service containers are verified. Validate Docker actions and whole-job containers before migrating; those configurations were not separately verified. Windows, macOS, and ARM jobs are not supported.
How much CI can I run for free?
A one-time $5 trial covers up to 20,000 Micro runtime minutes at $0.00025 per minute. Credits expire after 30 days and are shared with other sandbox usage. Preparation and cleanup consume runtime too. The trial allows two retained Micro sandboxes at a time, and stopped sandboxes count, so retained sandboxes can prevent a CI runner from starting.
Am I charged while a job is queued?
No. Time spent waiting in the queue before a runner computer starts is free. Billing covers the computer’s runtime once it starts, including runner preparation, workflow execution, and cleanup.
What runtime am I billed for?
Celesto charges workspace credit for the computer’s runtime, including runner preparation, workflow execution, and cleanup. Queue time before the computer starts is free. Billed runtime is not limited to the duration of your test steps. The calculator estimates equal runtime across providers; actual job duration and provider allowances can change your bill.
How long can a job run, and how many can run at once?
CI computers have a two-hour safety limit. Set timeout-minutes below 120 to leave time for preparation and cleanup. Concurrent runners depend on workspace sandbox limits, usable credit, and available capacity. The Micro trial allows two retained sandboxes at a time.
Does Celesto CI include cache storage?
Yes. Celesto serves the GitHub Actions cache at no extra charge, with default per-repository limits of 25 GiB with paid or promotional credit and 5 GiB on the trial. Existing actions/cache steps and the cache options in setup-node, setup-python, and similar actions work without workflow changes. Cache storage persists across jobs; entries expire after 7 idle days. Docker build layers use the same cache service and per-repository storage allowance.
Can I cache Docker builds between jobs?
Yes. Use docker/setup-buildx-action with docker/build-push-action, cache-from: type=gha, and cache-to: type=gha,mode=max. Celesto saves build layers and restores them on later jobs, with no separate cache storage fee. Docker layers share the dependency cache’s per-repository storage allowance and 7-day idle expiry. Each runner still starts fresh; this does not preserve its local Docker image store or cache docker pull and docker run images.
Are runners shared between jobs?
Each runner is an ephemeral computer that serves one job and is deleted afterward. Files on its local disk do not carry over to the next job. Use Celesto’s built-in cache storage to reuse dependencies across jobs, and GitHub Actions artifacts to keep job results.
What if I belong to multiple organizations?
Choose the Celesto workspace that will own and pay for the installation’s jobs. You need workspace admin access and a connected GitHub account that administers the selected repositories. One GitHub App installation is linked to one Celesto workspace.
What happens when credits run out or a job stays queued?
New runners cannot start without usable credit. Read the Celesto runner setup check in GitHub for billing or installation guidance. Add credit or finish setup, then cancel the old run and rerun it. GitHub’s native Actions job reports your test result; the Celesto check reports runner setup.