kind: pipeline type: docker name: Test Pipeline workspace: path: /drone/auth steps: - name: yarn install image: node:20-bullseye-slim environment: YARN_VERSION: 3.5.0 commands: - yarn set version stable - yarn install volumes: - name: yarnrc path: /drone/auth/.yarnrc.yml - name: Code Style Checks image: node:latest commands: - yarn prettier - name: Lint image: node:latest commands: - yarn lint - name: Unit Tests image: node:latest commands: - yarn test - name: Send Test Status Notification image: plugins/webhook settings: urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r content_type: application/json template: | { "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png", "text": "[{{ repo.name }} - Build # {{ build.number }}] Code Quality Checks {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}", "username":"DroneBot" } when: status: - success - failure - name: Build image: node:latest commands: - yarn build:production - name: Send Build Status Notifications image: plugins/webhook settings: urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r content_type: application/json template: | { "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png", "text": "[{{ repo.name }} - Build # {{ build.number }}] Build package {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}", "username":"DroneBot" } when: status: - success - failure volumes: - name: yarnrc host: path: /volume1/docker/.yarnrc.yml trigger: branch: - main - develop event: - pull_request --- kind: pipeline type: docker name: Publish Pipeline workspace: path: /drone/auth steps: - name: Build image: node:20-bullseye-slim environment: YARN_VERSION: 3.5.0 commands: - yarn set version stable - yarn install - yarn build:production volumes: - name: yarnrc path: /drone/auth/.yarnrc.yml - name: Publish NPM image: node:20-bullseye-slim commands: - yarn npm publish volumes: - name: npmrc path: /drone/auth/.npmrc - name: yarnrc path: /drone/auth/.yarnrc.yml - name: Report NPM Publish Status image: plugins/webhook settings: urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r content_type: application/json template: | { "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png", "text": "[{{ repo.name }} - New npm package release {{tag}} from # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}", "username":"DroneBot" } when: status: - success - failure volumes: - name: npmrc host: path: /volume1/docker/beethoven/labs-auth/.npmrc - name: yarnrc host: path: /volume1/docker/.yarnrc.yml depends_on: - Test Pipeline trigger: event: - tag