--- kind: pipeline name: testing type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: vet image: golang:1.24.11 commands: - go vet ./... environment: volumes: - name: gopath path: /go - name: test image: golang:1.24.11 commands: - go test -cover ./... environment: volumes: - name: gopath path: /go volumes: - name: gopath temp: {} trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" --- kind: pipeline type: vm name: windows-1809 pool: use: windows platform: os: windows arch: amd64 steps: - name: go build image: golang:1.24.11 environment: CGO_ENABLED: 0 commands: - go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker - go build -o release/windows/amd64/drone-ecr.exe ./cmd/drone-ecr - go build -o release/windows/amd64/drone-gcr.exe ./cmd/drone-gcr - go build -o release/windows/amd64/drone-acr.exe ./cmd/drone-acr - go build -o release/windows/amd64/drone-gar.exe ./cmd/drone-gar - name: build docker plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 settings: dockerfile: docker/docker/Dockerfile.windows.amd64.1809 repo: plugins/docker username: from_secret: docker_username password: from_secret: docker_password auto_tag: true daemon_off: true auto_tag_suffix: windows-1809-amd64 purge: false when: event: [push, tag] - name: build ecr plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 pull: never settings: dockerfile: docker/ecr/Dockerfile.windows.amd64.1809 repo: plugins/ecr username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-1809-amd64 purge: false when: event: [push, tag] - name: build gcr plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 pull: never settings: dockerfile: docker/gcr/Dockerfile.windows.amd64.1809 repo: plugins/gcr username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-1809-amd64 purge: false when: event: [push, tag] - name: build acr plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 pull: never settings: dockerfile: docker/acr/Dockerfile.windows.amd64.1809 repo: plugins/acr username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-1809-amd64 purge: false when: event: [push, tag] - name: build gar plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 pull: never settings: dockerfile: docker/gar/Dockerfile.windows.amd64.1809 repo: plugins/gar username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-1809-amd64 purge: false when: event: [push, tag] depends_on: - testing trigger: ref: - refs/heads/master - refs/tags/* - "refs/pull/**" --- kind: pipeline type: vm name: windows-ltsc2022 pool: use: windows-2022 platform: os: windows steps: - name: go build image: golang:1.24.11 environment: CGO_ENABLED: 0 commands: - go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker - go build -o release/windows/amd64/drone-ecr.exe ./cmd/drone-ecr - go build -o release/windows/amd64/drone-gcr.exe ./cmd/drone-gcr - go build -o release/windows/amd64/drone-acr.exe ./cmd/drone-acr - go build -o release/windows/amd64/drone-gar.exe ./cmd/drone-gar - name: build docker plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 settings: dockerfile: docker/docker/Dockerfile.windows.amd64.ltsc2022 repo: plugins/docker username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-ltsc2022-amd64 purge: false when: event: [push, tag] - name: build ecr plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 settings: dockerfile: docker/ecr/Dockerfile.windows.amd64.ltsc2022 repo: plugins/ecr username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-ltsc2022-amd64 purge: false when: event: [push, tag] - name: build gcr plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 settings: dockerfile: docker/gcr/Dockerfile.windows.amd64.ltsc2022 repo: plugins/gcr username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-ltsc2022-amd64 purge: false when: event: [push, tag] - name: build acr plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 settings: dockerfile: docker/acr/Dockerfile.windows.amd64.ltsc2022 repo: plugins/acr username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-ltsc2022-amd64 purge: false when: event: [push, tag] - name: build gar plugin image: plugins/docker@sha256:f0233d950ae87ee6cb5500b2d5497fe02aa338201c0bdce2619f443fd174cfa4 settings: dockerfile: docker/gar/Dockerfile.windows.amd64.ltsc2022 repo: plugins/gar username: from_secret: docker_username password: from_secret: docker_password auto_tag: true auto_tag_suffix: windows-ltsc2022-amd64 purge: false when: event: [push, tag] depends_on: - testing trigger: ref: - refs/heads/master - refs/tags/* - "refs/pull/**" --- kind: pipeline name: linux-amd64-docker type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker' environment: CGO_ENABLED: 0 when: event: - tag - name: executable image: golang:1.24.11 commands: - ./release/linux/amd64/drone-docker --help - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-amd64 daemon_off: false dockerfile: docker/docker/Dockerfile.linux.amd64 password: from_secret: docker_password repo: plugins/docker username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - testing --- kind: pipeline name: linux-arm64-docker type: vm pool: use: ubuntu_arm64 platform: os: linux arch: arm64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/arm64/drone-docker ./cmd/drone-docker' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/arm64/drone-docker ./cmd/drone-docker' environment: CGO_ENABLED: 0 when: event: - tag - name: executable image: golang:1.24.11 commands: - ./release/linux/arm64/drone-docker --help - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm64 daemon_off: false dockerfile: docker/docker/Dockerfile.linux.arm64 password: from_secret: docker_password repo: plugins/docker username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - testing --- kind: pipeline name: notifications-docker type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: manifest image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/docker/manifest.tmpl username: from_secret: docker_username trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - windows-1809 - windows-ltsc2022 - linux-amd64-docker - linux-arm64-docker --- kind: pipeline name: linux-amd64-gcr type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-amd64 daemon_off: false dockerfile: docker/gcr/Dockerfile.linux.amd64 password: from_secret: docker_password repo: plugins/gcr username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-amd64-docker --- kind: pipeline name: linux-arm64-gcr type: vm pool: use: ubuntu_arm64 platform: os: linux arch: arm64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/arm64/drone-gcr ./cmd/drone-gcr' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/arm64/drone-gcr ./cmd/drone-gcr' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm64 daemon_off: false dockerfile: docker/gcr/Dockerfile.linux.arm64 password: from_secret: docker_password repo: plugins/gcr username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-arm64-docker --- kind: pipeline name: notifications-gcr type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: manifest image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/gcr/manifest.tmpl username: from_secret: docker_username trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - windows-1809 - windows-ltsc2022 - linux-amd64-gcr - linux-arm64-gcr --- kind: pipeline name: linux-amd64-gar type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/amd64/drone-gar ./cmd/drone-gar' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/amd64/drone-gar ./cmd/drone-gar' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-amd64 daemon_off: false dockerfile: docker/gar/Dockerfile.linux.amd64 password: from_secret: docker_password repo: plugins/gar username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-amd64-docker --- kind: pipeline name: linux-arm64-gar type: vm pool: use: ubuntu_arm64 platform: os: linux arch: arm64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/arm64/drone-gar ./cmd/drone-gar' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/arm64/drone-gar ./cmd/drone-gar' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm64 daemon_off: false dockerfile: docker/gar/Dockerfile.linux.arm64 password: from_secret: docker_password repo: plugins/gar username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-arm64-docker --- kind: pipeline name: notifications-gar type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: manifest image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/gar/manifest.tmpl username: from_secret: docker_username trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - windows-1809 - windows-ltsc2022 - linux-amd64-gar - linux-arm64-gar --- kind: pipeline name: linux-amd64-ecr type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-amd64 daemon_off: false dockerfile: docker/ecr/Dockerfile.linux.amd64 password: from_secret: docker_password repo: plugins/ecr username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-amd64-docker --- kind: pipeline name: linux-arm64-ecr type: vm pool: use: ubuntu_arm64 platform: os: linux arch: arm64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/arm64/drone-ecr ./cmd/drone-ecr' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/arm64/drone-ecr ./cmd/drone-ecr' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm64 daemon_off: false dockerfile: docker/ecr/Dockerfile.linux.arm64 password: from_secret: docker_password repo: plugins/ecr username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-arm64-docker --- kind: pipeline name: notifications-ecr type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: manifest image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/ecr/manifest.tmpl username: from_secret: docker_username trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - windows-1809 - windows-ltsc2022 - linux-amd64-ecr - linux-arm64-ecr --- kind: pipeline name: linux-amd64-heroku type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-amd64 daemon_off: false dockerfile: docker/heroku/Dockerfile.linux.amd64 password: from_secret: docker_password repo: plugins/heroku username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-amd64-docker --- kind: pipeline name: linux-arm64-heroku type: vm pool: use: ubuntu_arm64 platform: os: linux arch: arm64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_COMMIT_SHA:0:8}" -a -tags netgo -o release/linux/arm64/drone-heroku ./cmd/drone-heroku' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v}" -a -tags netgo -o release/linux/arm64/drone-heroku ./cmd/drone-heroku' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm64 daemon_off: false dockerfile: docker/heroku/Dockerfile.linux.arm64 password: from_secret: docker_password repo: plugins/heroku username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-arm64-docker --- kind: pipeline name: notifications-heroku type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: manifest image: plugins/manifest settings: auto_tag: true ignore_missing: true password: from_secret: docker_password spec: docker/heroku/manifest.tmpl username: from_secret: docker_username trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - linux-amd64-heroku - linux-arm64-heroku --- kind: pipeline name: linux-amd64-acr type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-amd64 daemon_off: false dockerfile: docker/acr/Dockerfile.linux.amd64 password: from_secret: docker_password repo: plugins/acr username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-amd64-docker --- kind: pipeline name: linux-arm64-acr type: vm pool: use: ubuntu_arm64 platform: os: linux arch: arm64 steps: - name: build-push image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -tags netgo -o release/linux/arm64/drone-acr ./cmd/drone-acr' environment: CGO_ENABLED: 0 when: event: exclude: - tag - name: build-tag image: golang:1.24.11 commands: - 'go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -tags netgo -o release/linux/arm64/drone-acr ./cmd/drone-acr' environment: CGO_ENABLED: 0 when: event: - tag - name: publish image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm64 daemon_off: false dockerfile: docker/acr/Dockerfile.linux.arm64 password: from_secret: docker_password repo: plugins/acr username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" depends_on: - linux-arm64-docker --- kind: pipeline name: notifications-acr type: vm pool: use: ubuntu platform: os: linux arch: amd64 steps: - name: manifest image: plugins/manifest settings: ignore_missing: true password: from_secret: docker_password spec: docker/acr/manifest.tmpl username: from_secret: docker_username trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - windows-1809 - windows-ltsc2022 - linux-amd64-acr - linux-arm64-acr