--- kind: pipeline name: test steps: - name: test image: golang:1.21 environment: VERSION: ${DRONE_TAG:-${DRONE_COMMIT}} commands: - apt-get update - apt-get install -y --no-install-recommends restic - make test - name: check image: iamthefij/drone-pre-commit@sha256:30fa17489b86d7a4c3ad9c3ce2e152c25d82b8671e5609d322c6cae0baed89cd --- 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: iamthefij/restic-scheduler auto_tag: true platforms: - linux/amd64 - linux/arm64 - linux/arm 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