83 lines
1.8 KiB
YAML
83 lines
1.8 KiB
YAML
---
|
|
when:
|
|
path: "frontend/**"
|
|
event: [push, tag]
|
|
variables:
|
|
- &frontend_image "cl00e9ment/node.js-builder:git"
|
|
clone:
|
|
git:
|
|
image: woodpeckerci/plugin-git
|
|
settings:
|
|
skip_verify: true
|
|
partial: false
|
|
tags: true
|
|
steps:
|
|
"prepare:version":
|
|
image: bitnami/git:2.43.0
|
|
commands:
|
|
- . ./version.sh
|
|
"prepare:frontend":
|
|
image: *frontend_image
|
|
depends_on: ["prepare:version"]
|
|
commands:
|
|
- npm install
|
|
- ls -ltra ./node_modules
|
|
- sleep 20s
|
|
directory: frontend
|
|
|
|
"lint:style":
|
|
image: *frontend_image
|
|
depends_on: ["prepare:frontend"]
|
|
commands:
|
|
- ls -la ./node_modules
|
|
- ls -la ./node_modules/.bin
|
|
- ls -la ./node_modules/.bin/prettier
|
|
- ./node_modules/.bin/prettier . --check
|
|
- npm run prettier
|
|
directory: frontend
|
|
|
|
"lint:analyze":
|
|
image: *frontend_image
|
|
depends_on: ["prepare:frontend"]
|
|
commands:
|
|
- ls -la ./node_modules
|
|
- npm run lint
|
|
directory: frontend
|
|
|
|
"build:frontend":
|
|
image: *frontend_image
|
|
depends_on: ["prepare:frontend"]
|
|
commands:
|
|
- npm run build
|
|
directory: frontend
|
|
|
|
"build:tsc":
|
|
image: *frontend_image
|
|
depends_on: ["prepare:frontend"]
|
|
commands:
|
|
- npm install -D typescript
|
|
- npm run typecheck
|
|
directory: frontend
|
|
|
|
"analyze:sbom":
|
|
image: *frontend_image
|
|
depends_on: ["prepare:frontend"]
|
|
commands:
|
|
- rm -rf node_modules
|
|
- npm install
|
|
- npx @cyclonedx/cyclonedx-npm --output-file bom.json
|
|
directory: frontend
|
|
|
|
"deploy:frontend":
|
|
image: alpine:latest
|
|
depends_on: ["build:frontend"]
|
|
commands:
|
|
- echo "deploy frontend"
|
|
- env
|
|
directory: frontend
|
|
when:
|
|
- event: [manual]
|
|
|
|
#depends_on:
|
|
# - "lint_general"
|