--- 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 - 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"