From a881e707e244606ba346711713602357f4bc2bbb Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Sun, 15 Mar 2026 01:14:56 +0000 Subject: [PATCH] ci: enable Turbo remote cache + parallelize pipeline steps (#106) Co-authored-by: Jason Woltje Co-committed-by: Jason Woltje --- .woodpecker/ci.yml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) 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