diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..4f670fc --- /dev/null +++ b/.drone.yml @@ -0,0 +1,86 @@ +--- +kind: pipeline +name: test + +steps: + - name: test + image: golang:1.21 + environment: + VERSION: ${DRONE_TAG:-${DRONE_COMMIT}} + commands: + - make test + + - name: check + image: iamthefij/drone-pre-commit:personal + +--- +kind: pipeline +name: publish + +depends_on: + - test + +trigger: + event: + - push + - tag + refs: + - refs/heads/master + - refs/tags/v* + +steps: + - name: build all binaries + image: golang:1.21 + environment: + VERSION: ${DRONE_TAG:-${DRONE_COMMIT}} + commands: + - make all + + - name: compress binaries for release + image: ubuntu + commands: + - find ./dist -type f -executable -execdir tar -czvf {}.tar.gz {} \; + when: + event: tag + + - name: upload gitea release + image: plugins/gitea-release + settings: + title: ${DRONE_TAG} + files: dist/*.tar.gz + checksum: + - md5 + - sha1 + - sha256 + - sha512 + base_url: + from_secret: gitea_base_url + api_key: + from_secret: gitea_token + when: + event: tag + +--- +kind: pipeline +name: notify + +depends_on: + - test + - publish + +trigger: + status: + - failure + +steps: + + - name: notify + image: drillster/drone-email + settings: + host: + from_secret: SMTP_HOST # pragma: whitelist secret + username: + from_secret: SMTP_USER # pragma: whitelist secret + password: + from_secret: SMTP_PASS # pragma: whitelist secret + from: drone@iamthefij.com