kind: pipeline type: docker name: Test Pipeline workspace: path: /drone/grow 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 - name: Build image: node:latest commands: - yarn build - 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 trigger: branch: - main event: - pull_request - push --- kind: pipeline type: docker name: Publish Pipeline group: publish workspace: path: /drone/grow steps: - name: Build Package image: node:latest commands: - yarn install - yarn build - name: Publish NPM image: plugins/npm failure: ignore settings: username: from_secret: registry_username password: from_secret: registry_password registry: https://git.mifi.dev token: - from_secret: gitea_token volumes: - name: npmrc path: /drone/grow/.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 - name: Publish Image image: plugins/docker settings: auto_tag: true squash: true repo: git.mifi.dev/mifi/auth context: mifi registry: git.mifi.dev username: from_secret: registry_username password: from_secret: registry_password ssh-agent-key: from_secret: gitea_token volumes: - name: dockersock path: /var/run/docker.sock - name: dockerconfig path: /drone/grow/.docker/config.json - name: Report Image 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 docker image release {{tag}} from # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}", "username":"DroneBot" } when: status: - success - failure volumes: - name: dockerconfig host: path: /volume1/docker/dockerconfig.json - name: dockersock host: path: /var/run/docker.sock - name: npmrc host: path: /volume1/docker/grow/labs-auth/.npmrc depends_on: - Test Pipeline trigger: branch: - main event: - push - tag --- kind: pipeline type: docker name: Deploy Pipeline workspace: path: /drone/grow steps: - name: Deploy Container image: docker privileged: true commands: - docker compose pull - docker compose build --no-cache - docker compose rm --stop . - docker compose up --wait volumes: - name: env path: /drone/grow/.env - name: dockersock path: /var/run/docker.sock - name: dockerconfig path: /drone/grow/.docker/config.json - name: Send Status Notifications image: plugins/webhook privileged: true 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 }} - Build # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}", "username":"DroneBot" } when: status: - success - failure volumes: - name: dockerconfig host: path: /volume1/docker/dockerconfig.json - name: dockersock host: path: /var/run/docker.sock - name: env host: path: /volume1/docker/labs/grow-auth/.env depends_on: - Test Pipeline trigger: branch: - main event: - push - tag