Skip to content

Turborepo

Turborepo CI on GitHub Actions

Turborepo reports a cache miss on every CI run.

12% → 91%
Cache hit rate
17m → 3m
Pipeline

Turborepo reports a cache miss on every CI run.

Why it happens

The local .turbo cache is discarded and no remote cache is configured, so every task re-executes.

What to change

  1. Configure Turborepo remote caching so CI and developers share artefacts
  2. Cache .turbo locally as well for within-run reuse
  3. Make sure task inputs are declared correctly — over-broad inputs cause false misses
  4. Use --filter to build only the packages affected by the change

Turborepo on runnerhut

yaml
jobs:
build:
runs-on: runnerhut-8vcpu-ubuntu-2404
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: acme
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npx turbo build test --filter=...[origin/main]
A working starting point

The only runnerhut-specific line is `runs-on: runnerhut-8vcpu-ubuntu-2404`. Everything else is standard GitHub Actions — the same actions, the same secrets and the same permissions model you use today.

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.