2023-07-12 23:25:05 +02:00
|
|
|
when:
|
2023-08-07 13:03:23 +02:00
|
|
|
- event: [pull_request, tag]
|
|
|
|
- event: push
|
|
|
|
branch:
|
|
|
|
- ${CI_REPO_DEFAULT_BRANCH}
|
|
|
|
- release/*
|
2023-11-11 22:35:48 +02:00
|
|
|
- renovate/*
|
2023-07-12 23:25:05 +02:00
|
|
|
|
2022-07-17 18:25:56 +02:00
|
|
|
variables:
|
2023-11-01 16:25:48 +02:00
|
|
|
- &node_image 'docker.io/node:21-alpine'
|
2023-08-07 13:03:23 +02:00
|
|
|
- &when
|
|
|
|
path:
|
|
|
|
# related config files
|
2023-10-24 14:42:05 +02:00
|
|
|
- '.woodpecker/web.yml'
|
2023-08-07 13:03:23 +02:00
|
|
|
# web source code
|
2023-10-24 14:42:05 +02:00
|
|
|
- 'web/**'
|
2023-08-07 13:03:23 +02:00
|
|
|
# api source code
|
2023-10-24 14:42:05 +02:00
|
|
|
- 'server/api/**'
|
2023-08-07 13:03:23 +02:00
|
|
|
event: [pull_request, tag, deployment]
|
2022-07-17 18:25:56 +02:00
|
|
|
|
2023-06-30 13:32:17 +02:00
|
|
|
steps:
|
2023-12-28 17:39:14 +02:00
|
|
|
install_dependencies:
|
2022-07-17 18:25:56 +02:00
|
|
|
image: *node_image
|
2022-10-25 14:51:29 +02:00
|
|
|
directory: web/
|
2021-11-30 18:46:19 +02:00
|
|
|
commands:
|
2022-10-08 16:15:07 +02:00
|
|
|
- corepack enable
|
|
|
|
- pnpm install --frozen-lockfile
|
2023-08-07 13:03:23 +02:00
|
|
|
when: *when
|
2021-11-30 18:46:19 +02:00
|
|
|
|
|
|
|
lint:
|
2023-12-28 17:39:14 +02:00
|
|
|
depends_on:
|
|
|
|
- install_dependencies
|
2022-07-17 18:25:56 +02:00
|
|
|
image: *node_image
|
2022-10-25 14:51:29 +02:00
|
|
|
directory: web/
|
2021-11-30 18:46:19 +02:00
|
|
|
commands:
|
2022-10-08 16:15:07 +02:00
|
|
|
- corepack enable
|
|
|
|
- pnpm lint
|
2023-08-07 13:03:23 +02:00
|
|
|
when: *when
|
2021-11-30 18:46:19 +02:00
|
|
|
|
|
|
|
formatcheck:
|
2023-12-28 17:39:14 +02:00
|
|
|
depends_on:
|
|
|
|
- install_dependencies
|
2022-07-17 18:25:56 +02:00
|
|
|
image: *node_image
|
2022-10-25 14:51:29 +02:00
|
|
|
directory: web/
|
2021-11-30 18:46:19 +02:00
|
|
|
commands:
|
2022-10-08 16:15:07 +02:00
|
|
|
- corepack enable
|
2023-08-03 23:11:52 +02:00
|
|
|
- pnpm format:check
|
2023-08-07 13:03:23 +02:00
|
|
|
when: *when
|
2021-11-30 18:46:19 +02:00
|
|
|
|
|
|
|
typecheck:
|
2023-12-28 17:39:14 +02:00
|
|
|
depends_on:
|
|
|
|
- install_dependencies
|
2022-07-17 18:25:56 +02:00
|
|
|
image: *node_image
|
2022-10-25 14:51:29 +02:00
|
|
|
directory: web/
|
2021-11-30 18:46:19 +02:00
|
|
|
commands:
|
2022-10-08 16:15:07 +02:00
|
|
|
- corepack enable
|
|
|
|
- pnpm typecheck
|
2023-08-07 13:03:23 +02:00
|
|
|
when: *when
|
2021-11-30 18:46:19 +02:00
|
|
|
|
|
|
|
test:
|
2023-12-28 17:39:14 +02:00
|
|
|
depends_on:
|
|
|
|
- install_dependencies
|
2022-07-17 18:25:56 +02:00
|
|
|
image: *node_image
|
2022-10-25 14:51:29 +02:00
|
|
|
directory: web/
|
2021-11-30 18:46:19 +02:00
|
|
|
commands:
|
2022-10-08 16:15:07 +02:00
|
|
|
- corepack enable
|
|
|
|
- pnpm test
|
2023-08-07 13:03:23 +02:00
|
|
|
when: *when
|