--- 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 - name: push images image: thegeeklab/drone-docker-buildx settings: repo: ${REPO_OWNER}/${REPO_NAME} auto_tag: true platforms: - linux/amd64 - linux/arm64 username: from_secret: docker_username password: from_secret: docker_password --- 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