diff --git a/.woodpecker/ci.yml b/.woodpecker/ci.yml index 21af84c..6c232c5 100644 --- a/.woodpecker/ci.yml +++ b/.woodpecker/ci.yml @@ -5,9 +5,9 @@ variables: when: - event: [push, pull_request, manual] -# Steps run sequentially to avoid OOM on the CI runner. -# node_modules is installed once by the install step and shared across -# all subsequent steps via Woodpecker's shared workspace volume. +# Turbo remote cache is at turbo.mosaicstack.dev (ducktors/turborepo-remote-cache). +# TURBO_TOKEN is set as a Woodpecker secret. Turbo picks up TURBO_API, TURBO_TOKEN, +# and TURBO_TEAM from the environment automatically. steps: install: @@ -18,14 +18,23 @@ steps: typecheck: image: *node_image + environment: + TURBO_API: https://turbo.mosaicstack.dev + TURBO_TEAM: mosaic + secrets: [turbo_token] commands: - *enable_pnpm - pnpm typecheck depends_on: - install + # lint, format, and test are independent — run in parallel after typecheck lint: image: *node_image + environment: + TURBO_API: https://turbo.mosaicstack.dev + TURBO_TEAM: mosaic + secrets: [turbo_token] commands: - *enable_pnpm - pnpm lint @@ -38,20 +47,30 @@ steps: - *enable_pnpm - pnpm format:check depends_on: - - lint + - typecheck test: image: *node_image + environment: + TURBO_API: https://turbo.mosaicstack.dev + TURBO_TEAM: mosaic + secrets: [turbo_token] commands: - *enable_pnpm - pnpm test depends_on: - - format + - typecheck build: image: *node_image + environment: + TURBO_API: https://turbo.mosaicstack.dev + TURBO_TEAM: mosaic + secrets: [turbo_token] commands: - *enable_pnpm - pnpm build depends_on: + - lint + - format - test