- Connect to turbo.mosaicstack.dev remote cache (ducktors/turborepo-remote-cache)
- Parallelize lint, format, and test after typecheck (were sequential)
- Add turbo_token secret for cache authentication
- TURBO_API + TURBO_TEAM env vars on all Turbo-managed steps
Before: install → typecheck → lint → format → test → build (serial)
After: install → typecheck → lint ─┐
format ├→ build
test ──┘
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each step was re-running pnpm install independently, and all quality
steps (typecheck, lint, format, test) ran in parallel. On merge commits
with more accumulated code this pushed the CI runner over its memory
limit (exit code 254 = OOM kill).
Fix:
- install once, share node_modules via Woodpecker workspace volume
- sequential execution: install → typecheck → lint → format → test → build
- corepack enable in each step (fresh container) but no redundant install