Build caches
ReaperCI run steps can mount persistent BuildKit caches. Cache identity is isolated by repository and can include the branch and Linux platform:
steps:
- name: test
image: node:22
run: corepack enable && pnpm install --frozen-lockfile && pnpm test
platform: linux/amd64
caches:
- key: pnpm-{{branch}}-{{platform}}
path: /root/.local/share/pnpm/store
Supported key values are {{repo}}, {{branch}}, and {{platform}}. A cache
first appears in the repository's Build caches panel after a build uses it.
The panel shows its last build, platform, use time, and generation.
Safe invalidation
Invalidating a cache increments its generation. Builds that start afterward receive a fresh persistent mount; running builds continue using the generation they already acquired. ReaperCI does not synchronously delete BuildKit data, so invalidation cannot race an active build. BuildKit's configured garbage collector reclaims older generations.
The authenticated API is also available to the CLI and agents:
GET /api/v1/cache-entries?repo=<name>lists entries.POST /api/v1/cache-entries/<id>/invalidateadvances an entry.
Invalidation requires the builds:rw scope and is recorded in the append-only
audit log with the acting user or service-account identity.