Skip to content

Enzonic CI

CI for your GitHub repositories, on Enzonic runners.

Enzonic CI runs your tests and builds on every push and pull request, each job in its own sandbox on Linux runners Enzonic operates. Live logs, dependency caches and artifacts, on the same account and plan as Deploy and Databases.

Included in every plan, Free too. CI minutes, parallel jobs and retention come with your plan.

Enzonic CI: pipelines of three repositories with their latest runs and a configuration problem explained

Faster than GitHub Actions on the same workflow

One workflow, run on both platforms: a Node job with npm ci and a vitest suite, and a Go job with go test. Lower is better.

StepEnzonic CIGitHub Actions
Whole run, from push to every job done (warm caches)37 s
Checkout1 s
npm ci with a warm cache3 s
go test with cold caches20 s
Go job, start to finish (warm caches)11 s

Where we are slower: the first npm ci after a lockfile change takes 6.8 s, against 4 s on GitHub, because every file npm extracts passes through the job's sandbox. Every later run with the same lockfile takes 0.09 s.

Measured on November 1, 2026 with the same .github/workflows/ci.yml on both platforms (GitHub on ubuntu-latest), in a benchmark repository. Medians of 3 runs, in seconds; warm runs had each platform's caches in place. GitHub's cold figures come from a single first run.

Configuration you already know

Write .enzonic/ci.yml, or keep your GitHub Actions workflows: Enzonic CI runs a supported subset of .github/workflows and reports what it cannot run, such as unsupported actions, Windows or macOS runners and reusable workflows, with a message.

What starts a run

  • Pushes and tags
  • Pull requests
  • Schedules
  • Manual runs from the console and runs started from the API

Jobs run on Linux runners. Each job gets its own gVisor sandbox with no access to private networks.

.enzonic/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:

jobs:
  test:
    image: node:22-bookworm-slim
    services:
      postgres:
        image: postgres:17-alpine
        env:
          POSTGRES_PASSWORD: postgres
    env:
      DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
    steps:
      - name: Install
        run: npm ci
      - name: Test
        run: npm test

An example. The CI reference in the docs lists every supported key and action.

Every push and pull request in one list

Runs of every connected repository with their status, event, branch, commit and duration. The list refreshes while something is running, and each run reports a check on GitHub.

Enzonic CI: the runs of every pipeline with their status, branch, commit and duration

What it does

Matrix builds and job dependencies
Split work into jobs, fan out over a matrix and order jobs with needs.
Service containers
Start Postgres or another service next to a job; it joins the job's network for the length of the run.
One sandbox per job
Each job runs in its own gVisor sandbox on its own network, with no access to private networks.
Live logs and artifacts
Follow each step as it runs, re-run the jobs that failed, and download artifacts while your plan keeps them.
Safe pull requests from forks
Runs for pull requests from forks get no secrets by default.
Fixes for failed jobs
Enzica, Enzonic's assistant, can read a failed job's logs and propose a fix that you review before anything changes.

Dependency caches

Caches are kept per repository within your plan's cache size.

  • npm
  • pnpm
  • Yarn
  • Bun
  • pip
  • Go
  • Cargo
  • Maven
  • Gradle

CI limits per plan

CI minutes reset every month and are counted per finished job. Paid plans add minutes, parallel jobs, a larger cache and longer retention.

PlanFreeFreeStarter$5 a monthPro$10 a monthGrowth$19 a monthBusiness$29 a month
CI minutes3,000 a month5,000 a month6,000 a month15,000 a month60,000 a month
Jobs at the same time2461020
Job timeout360 min360 min360 min480 min720 min
Dependency cache2 GB5 GB10 GB20 GB50 GB
Artifacts kept90 days90 days90 days180 days400 days
Logs kept14 days30 days30 days60 days90 days
  • 50% off your first paid month
  • 25% off every month with a paid Enzonic game plan

Prices in US dollars. Paid plans renew monthly from your Enzonic balance, or by card when the balance is empty. The free plan never asks for a card. The console always shows the limits of your current plan.

Compare every limit on enzonic.dev

Cloud grants

Free Pro or Business time and up to $500 of Cloud credit for people who build for others.

  • Pro or Business for 3, 6 or 12 months
  • Up to $500 of Cloud credit on your Enzonic balance
  • One grant covers Deploy, Databases, CI and the plan's Rapidfile limits
  • Read by a person, usually answered within a few days

Apply with the form on enzonic.dev. A free Enzonic account is all you need, and no card.

  • Open source
  • Students
  • Non-profits
  • Startups
  • Educators
  • Hackathons

Questions

Often not. Enzonic CI reads .enzonic/ci.yml, or a supported subset of .github/workflows. Steps it cannot run, such as Windows or macOS runners and reusable workflows, are reported with a clear message instead of failing silently.

Connect a repository and let the next push run.

Deploying the app, hosting its database or its uploads too?