All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
81 lines
1.7 KiB
YAML
81 lines
1.7 KiB
YAML
variables:
|
|
- &node_image 'node:22-alpine'
|
|
- &enable_pnpm 'corepack enable'
|
|
|
|
when:
|
|
- event: [push, pull_request, manual]
|
|
|
|
# Turbo remote cache is at turbo.mosaicstack.dev (ducktors/turborepo-remote-cache).
|
|
# TURBO_TOKEN is a Woodpecker secret injected via from_secret into the environment.
|
|
# Turbo picks up TURBO_API, TURBO_TOKEN, and TURBO_TEAM automatically.
|
|
|
|
steps:
|
|
install:
|
|
image: *node_image
|
|
commands:
|
|
- corepack enable
|
|
- pnpm install --frozen-lockfile
|
|
|
|
typecheck:
|
|
image: *node_image
|
|
environment:
|
|
TURBO_API: https://turbo.mosaicstack.dev
|
|
TURBO_TEAM: mosaic
|
|
TURBO_TOKEN:
|
|
from_secret: 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
|
|
TURBO_TOKEN:
|
|
from_secret: turbo_token
|
|
commands:
|
|
- *enable_pnpm
|
|
- pnpm lint
|
|
depends_on:
|
|
- typecheck
|
|
|
|
format:
|
|
image: *node_image
|
|
commands:
|
|
- *enable_pnpm
|
|
- pnpm format:check
|
|
depends_on:
|
|
- typecheck
|
|
|
|
test:
|
|
image: *node_image
|
|
environment:
|
|
TURBO_API: https://turbo.mosaicstack.dev
|
|
TURBO_TEAM: mosaic
|
|
TURBO_TOKEN:
|
|
from_secret: turbo_token
|
|
commands:
|
|
- *enable_pnpm
|
|
- pnpm test
|
|
depends_on:
|
|
- typecheck
|
|
|
|
build:
|
|
image: *node_image
|
|
environment:
|
|
TURBO_API: https://turbo.mosaicstack.dev
|
|
TURBO_TEAM: mosaic
|
|
TURBO_TOKEN:
|
|
from_secret: turbo_token
|
|
commands:
|
|
- *enable_pnpm
|
|
- pnpm build
|
|
depends_on:
|
|
- lint
|
|
- format
|
|
- test
|