From 9393a8441a3b7e33c55ae4fa76a181a6aa303ae7 Mon Sep 17 00:00:00 2001 From: mifi Date: Tue, 23 May 2023 15:40:57 -0400 Subject: [PATCH] Added drone pipeline --- .drone.yml | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..711fccc --- /dev/null +++ b/.drone.yml @@ -0,0 +1,91 @@ +kind: pipeline +type: docker +name: Test Pipeline + +workspace: + path: /drone/auth + +steps: +- name: yarn install + image: node:latest + commands: + - yarn install +- 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 + +trigger: + branch: + - main + - develop + event: + - pull_request + +--- +kind: pipeline +type: docker +name: Publish Pipeline + +workspace: + path: /drone/auth + +steps: +- name: Publish NPM + image: node:20-alpine + failure: ignore + commands: + - yarn publish -t ${DRONE_TAG} + volumes: + - name: npmrc + path: /drone/auth/.npmrc +- 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 + +depends_on: + - Test Pipeline + +trigger: + event: + - tag