woodpecker/.woodpecker/web.yaml

67 lines
1.2 KiB
YAML

when:
- event: pull_request
- event: push
branch:
- ${CI_REPO_DEFAULT_BRANCH}
- release/*
- renovate/*
variables:
- &node_image 'docker.io/node:21-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
formatcheck:
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
image: *node_image
directory: web/
commands:
- corepack enable
- pnpm test
when: *when