From e829496461e426c9987723d26bf6ff8eecca44a9 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Sun, 19 Sep 2021 21:32:11 +0200 Subject: [PATCH] switch to drone-matrix --- .drone.jsonnet | 4 +- .drone.yml | 592 ++++++++++++++++++++++++++----------------------- 2 files changed, 318 insertions(+), 278 deletions(-) diff --git a/.drone.jsonnet b/.drone.jsonnet index c8e9760..6f69336 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -214,11 +214,11 @@ local PipelineNotifications = { }, { name: 'matrix', - image: 'plugins/matrix', + image: 'thegeeklab/drone-matrix', settings: { homeserver: { from_secret: 'matrix_homeserver' }, roomid: { from_secret: 'matrix_roomid' }, - template: 'Status: **{{ build.status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}
Message: {{ build.message }}', + template: 'Status: **{{ build.Status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.Link }}) ({{ build.Branch }}) by {{ commit.Author }}
Message: {{ commit.Message }}', username: { from_secret: 'matrix_username' }, password: { from_secret: 'matrix_password' }, }, diff --git a/.drone.yml b/.drone.yml index f093e84..da35929 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,329 +1,369 @@ --- kind: pipeline name: test + platform: - arch: amd64 os: linux + arch: amd64 + steps: -- commands: - - shellcheck ./wait-for - image: koalaman/shellcheck-alpine:stable - name: lint -- commands: - - bats ./wait-for.bats - image: bats/bats - name: test + - name: lint + image: koalaman/shellcheck-alpine:stable + commands: + - shellcheck ./wait-for + + - name: test + image: bats/bats + commands: + - bats ./wait-for.bats + trigger: ref: - - refs/heads/main - - refs/tags/** - - refs/pull/** + - refs/heads/main + - refs/tags/** + - refs/pull/** + --- -depends_on: -- test kind: pipeline name: build-package + platform: - arch: amd64 os: linux + arch: amd64 + steps: -- commands: - - sha256sum wait-for > sha256sum.txt - image: alpine - name: checksum -- commands: - - git fetch -tq - - git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased - unreleased} - image: thegeeklab/git-chglog - name: changelog-generate -- commands: - - prettier CHANGELOG.md - - prettier -w CHANGELOG.md - image: thegeeklab/alpine-tools - name: changelog-format -- image: plugins/github-release - name: publish-github - settings: - api_key: - from_secret: github_token - files: - - wait-for - - sha256sum.txt - note: CHANGELOG.md - overwrite: true - title: ${DRONE_TAG} - when: - ref: - - refs/tags/** + - name: checksum + image: alpine + commands: + - sha256sum wait-for > sha256sum.txt + + - name: changelog-generate + image: thegeeklab/git-chglog + commands: + - git fetch -tq + - git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased} + + - name: changelog-format + image: thegeeklab/alpine-tools + commands: + - prettier CHANGELOG.md + - prettier -w CHANGELOG.md + + - name: publish-github + image: plugins/github-release + settings: + api_key: + from_secret: github_token + files: + - wait-for + - sha256sum.txt + note: CHANGELOG.md + overwrite: true + title: ${DRONE_TAG} + when: + ref: + - refs/tags/** + trigger: ref: - - refs/heads/main - - refs/tags/** - - refs/pull/** ---- + - refs/heads/main + - refs/tags/** + - refs/pull/** + depends_on: -- test + - test + +--- kind: pipeline name: build-container-amd64 + platform: - arch: amd64 os: linux + arch: amd64 + steps: -- image: thegeeklab/drone-docker:19 - name: dryrun - settings: - dockerfile: docker/Dockerfile.amd64 - dry_run: true - password: - from_secret: docker_password - repo: thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: docker_username - when: - ref: - - refs/pull/** -- image: thegeeklab/drone-docker:19 - name: publish-dockerhub - settings: - auto_tag: true - auto_tag_suffix: amd64 - dockerfile: docker/Dockerfile.amd64 - password: - from_secret: docker_password - repo: thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: docker_username - when: - ref: - - refs/heads/main - - refs/tags/** -- image: thegeeklab/drone-docker:19 - name: publish-quay - settings: - auto_tag: true - auto_tag_suffix: amd64 - dockerfile: docker/Dockerfile.amd64 - password: - from_secret: quay_password - registry: quay.io - repo: quay.io/thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: quay_username - when: - ref: - - refs/heads/main - - refs/tags/** + - name: dryrun + image: thegeeklab/drone-docker:19 + settings: + dockerfile: docker/Dockerfile.amd64 + dry_run: true + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/pull/** + + - name: publish-dockerhub + image: thegeeklab/drone-docker:19 + settings: + auto_tag: true + auto_tag_suffix: amd64 + dockerfile: docker/Dockerfile.amd64 + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/heads/main + - refs/tags/** + + - name: publish-quay + image: thegeeklab/drone-docker:19 + settings: + auto_tag: true + auto_tag_suffix: amd64 + dockerfile: docker/Dockerfile.amd64 + password: + from_secret: quay_password + registry: quay.io + repo: quay.io/thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: quay_username + when: + ref: + - refs/heads/main + - refs/tags/** + trigger: ref: - - refs/heads/main - - refs/tags/** - - refs/pull/** ---- + - refs/heads/main + - refs/tags/** + - refs/pull/** + depends_on: -- test + - test + +--- kind: pipeline name: build-container-arm64 + platform: - arch: arm64 os: linux + arch: arm64 + steps: -- image: thegeeklab/drone-docker:19 - name: dryrun - settings: - dockerfile: docker/Dockerfile.arm64 - dry_run: true - password: - from_secret: docker_password - repo: thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: docker_username - when: - ref: - - refs/pull/** -- image: thegeeklab/drone-docker:19 - name: publish-dockerhub - settings: - auto_tag: true - auto_tag_suffix: arm64 - dockerfile: docker/Dockerfile.arm64 - password: - from_secret: docker_password - repo: thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: docker_username - when: - ref: - - refs/heads/main - - refs/tags/** -- image: thegeeklab/drone-docker:19 - name: publish-quay - settings: - auto_tag: true - auto_tag_suffix: arm64 - dockerfile: docker/Dockerfile.arm64 - password: - from_secret: quay_password - registry: quay.io - repo: quay.io/thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: quay_username - when: - ref: - - refs/heads/main - - refs/tags/** + - name: dryrun + image: thegeeklab/drone-docker:19 + settings: + dockerfile: docker/Dockerfile.arm64 + dry_run: true + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/pull/** + + - name: publish-dockerhub + image: thegeeklab/drone-docker:19 + settings: + auto_tag: true + auto_tag_suffix: arm64 + dockerfile: docker/Dockerfile.arm64 + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/heads/main + - refs/tags/** + + - name: publish-quay + image: thegeeklab/drone-docker:19 + settings: + auto_tag: true + auto_tag_suffix: arm64 + dockerfile: docker/Dockerfile.arm64 + password: + from_secret: quay_password + registry: quay.io + repo: quay.io/thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: quay_username + when: + ref: + - refs/heads/main + - refs/tags/** + trigger: ref: - - refs/heads/main - - refs/tags/** - - refs/pull/** ---- + - refs/heads/main + - refs/tags/** + - refs/pull/** + depends_on: -- test + - test + +--- kind: pipeline name: build-container-arm + platform: - arch: arm os: linux + arch: arm + steps: -- image: thegeeklab/drone-docker:19 - name: dryrun - settings: - dockerfile: docker/Dockerfile.arm - dry_run: true - password: - from_secret: docker_password - repo: thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: docker_username - when: - ref: - - refs/pull/** -- image: thegeeklab/drone-docker:19 - name: publish-dockerhub - settings: - auto_tag: true - auto_tag_suffix: arm - dockerfile: docker/Dockerfile.arm - password: - from_secret: docker_password - repo: thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: docker_username - when: - ref: - - refs/heads/main - - refs/tags/** -- image: thegeeklab/drone-docker:19 - name: publish-quay - settings: - auto_tag: true - auto_tag_suffix: arm - dockerfile: docker/Dockerfile.arm - password: - from_secret: quay_password - registry: quay.io - repo: quay.io/thegeeklab/${DRONE_REPO_NAME} - username: - from_secret: quay_username - when: - ref: - - refs/heads/main - - refs/tags/** + - name: dryrun + image: thegeeklab/drone-docker:19 + settings: + dockerfile: docker/Dockerfile.arm + dry_run: true + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/pull/** + + - name: publish-dockerhub + image: thegeeklab/drone-docker:19 + settings: + auto_tag: true + auto_tag_suffix: arm + dockerfile: docker/Dockerfile.arm + password: + from_secret: docker_password + repo: thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: docker_username + when: + ref: + - refs/heads/main + - refs/tags/** + + - name: publish-quay + image: thegeeklab/drone-docker:19 + settings: + auto_tag: true + auto_tag_suffix: arm + dockerfile: docker/Dockerfile.arm + password: + from_secret: quay_password + registry: quay.io + repo: quay.io/thegeeklab/${DRONE_REPO_NAME} + username: + from_secret: quay_username + when: + ref: + - refs/heads/main + - refs/tags/** + trigger: ref: - - refs/heads/main - - refs/tags/** - - refs/pull/** ---- + - refs/heads/main + - refs/tags/** + - refs/pull/** + depends_on: -- build-container-amd64 -- build-container-arm -- build-container-arm64 + - test + +--- kind: pipeline name: notifications + platform: - arch: amd64 os: linux + arch: amd64 + steps: -- image: plugins/manifest - name: manifest-dockerhub - settings: - auto_tag: true - ignore_missing: true - password: - from_secret: docker_password - spec: docker/manifest.tmpl - username: - from_secret: docker_username - when: - status: - - success -- image: plugins/manifest - name: manifest-quay - settings: - auto_tag: true - ignore_missing: true - password: - from_secret: quay_password - spec: docker/manifest-quay.tmpl - username: - from_secret: quay_username - when: - status: - - success -- environment: - DOCKER_PASS: - from_secret: docker_password - DOCKER_USER: - from_secret: docker_username - PUSHRM_FILE: README.md - PUSHRM_SHORT: Poor-mans docker service synchronizer - PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME} - image: chko/docker-pushrm:1 - name: pushrm-dockerhub - pull: always - when: - status: - - success -- environment: - APIKEY__QUAY_IO: - from_secret: quay_token - PUSHRM_FILE: README.md - PUSHRM_TARGET: quay.io/thegeeklab/${DRONE_REPO_NAME} - image: chko/docker-pushrm:1 - name: pushrm-quay - pull: always - when: - status: - - success -- image: plugins/matrix - name: matrix - settings: - homeserver: - from_secret: matrix_homeserver - password: - from_secret: matrix_password - roomid: - from_secret: matrix_roomid - template: 'Status: **{{ build.status }}**
Build: [{{ repo.Owner }}/{{ repo.Name - }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}
Message: - {{ build.message }}' - username: - from_secret: matrix_username - when: - status: - - success - - failure + - name: manifest-dockerhub + image: plugins/manifest + settings: + auto_tag: true + ignore_missing: true + password: + from_secret: docker_password + spec: docker/manifest.tmpl + username: + from_secret: docker_username + when: + status: + - success + + - name: manifest-quay + image: plugins/manifest + settings: + auto_tag: true + ignore_missing: true + password: + from_secret: quay_password + spec: docker/manifest-quay.tmpl + username: + from_secret: quay_username + when: + status: + - success + + - name: pushrm-dockerhub + pull: always + image: chko/docker-pushrm:1 + environment: + DOCKER_PASS: + from_secret: docker_password + DOCKER_USER: + from_secret: docker_username + PUSHRM_FILE: README.md + PUSHRM_SHORT: Poor-mans docker service synchronizer + PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME} + when: + status: + - success + + - name: pushrm-quay + pull: always + image: chko/docker-pushrm:1 + environment: + APIKEY__QUAY_IO: + from_secret: quay_token + PUSHRM_FILE: README.md + PUSHRM_TARGET: quay.io/thegeeklab/${DRONE_REPO_NAME} + when: + status: + - success + + - name: matrix + image: thegeeklab/drone-matrix + settings: + homeserver: + from_secret: matrix_homeserver + password: + from_secret: matrix_password + roomid: + from_secret: matrix_roomid + template: "Status: **{{ build.Status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.Link }}) ({{ build.Branch }}) by {{ commit.Author }}
Message: {{ commit.Message }}" + username: + from_secret: matrix_username + when: + status: + - success + - failure + trigger: ref: - - refs/heads/main - - refs/tags/** + - refs/heads/main + - refs/tags/** status: - - success - - failure + - success + - failure + +depends_on: + - build-container-amd64 + - build-container-arm + - build-container-arm64 + --- kind: signature -hmac: 6fbd749273f067a96f12909fd22d46b28fa32bf61a13000ecd04a760f628140d +hmac: 143f9d09d77fa20b876a15ac9c120f81c80c7b27aefe9cab7e8e0f92760638a6 ...