67 lines
1.2 KiB
YAML
67 lines
1.2 KiB
YAML
when:
|
|
- event: pull_request
|
|
- event: push
|
|
branch:
|
|
- release/*
|
|
|
|
variables:
|
|
- &node_image 'docker.io/node:23-alpine'
|
|
- &when
|
|
path:
|
|
# related config files
|
|
- '.woodpecker/web.yaml'
|
|
# web source code
|
|
- 'web/**'
|
|
# api source code
|
|
- 'server/api/**'
|
|
|
|
steps:
|
|
install-dependencies:
|
|
image: *node_image
|
|
directory: web/
|
|
commands:
|
|
- corepack enable
|
|
- pnpm install --frozen-lockfile
|
|
when: *when
|
|
|
|
lint:
|
|
depends_on:
|
|
- install-dependencies
|
|
image: *node_image
|
|
directory: web/
|
|
commands:
|
|
- corepack enable
|
|
- pnpm lint
|
|
when: *when
|
|
|
|
format-check:
|
|
depends_on:
|
|
- install-dependencies
|
|
image: *node_image
|
|
directory: web/
|
|
commands:
|
|
- corepack enable
|
|
- pnpm format:check
|
|
when: *when
|
|
|
|
typecheck:
|
|
depends_on:
|
|
- install-dependencies
|
|
image: *node_image
|
|
directory: web/
|
|
commands:
|
|
- corepack enable
|
|
- pnpm typecheck
|
|
when: *when
|
|
|
|
test:
|
|
depends_on:
|
|
- install-dependencies
|
|
- format-check # wait for it else test artifacts are falsely detected as wrong
|
|
image: *node_image
|
|
directory: web/
|
|
commands:
|
|
- corepack enable
|
|
- pnpm test
|
|
when: *when
|