--- kind: pipeline name: testing platform: os: linux arch: amd64 steps: - name: vet pull: always image: golang:1.11 commands: - go vet ./... environment: GO111MODULE: on volumes: - name: gopath path: /go - name: test pull: always image: golang:1.11 commands: - go test -cover ./... environment: GO111MODULE: on volumes: - name: gopath path: /go volumes: - name: gopath temp: {} trigger: ref: - refs/heads/master - "refs/tags/**" - "refs/pull/**" --- kind: pipeline type: ssh name: windows-1809-amd64-docker platform: os: windows server: host: windows.1809.amd64.plugins.drone.ci password: from_secret: windows_password user: from_secret: windows_username steps: - name: build commands: # TODO use the new DRONE_SEMVER_SHORT environment variables to # publish docker images for tag events. - go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker - docker login -u $env:USERNAME -p $env:PASSWORD - docker build -f docker/docker/Dockerfile.windows.1809 -t plugins/docker:windows-1809-amd64 . - docker push plugins/docker:windows-1809-amd64 environment: CGO_ENABLED: "0" USERNAME: from_secret: docker_username PASSWORD: from_secret: docker_password trigger: event: - push depends_on: - testing # --- # kind: pipeline # type: ssh # name: windows-1903-amd64-docker # platform: # os: windows # server: # host: windows.1903.amd64.plugins.drone.ci # password: # from_secret: windows_password # user: # from_secret: windows_username # steps: # - name: build # commands: # # TODO use the new DRONE_SEMVER_SHORT environment variables to # # publish docker images for tag events. # - go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker # - docker login -u $env:USERNAME -p $env:PASSWORD # - docker build -f docker/docker/Dockerfile.windows.1903 -t plugins/docker:windows-1903-amd64 . # - docker push plugins/docker:windows-1903-amd64 # environment: # CGO_ENABLED: "0" # USERNAME: # from_secret: docker_username # PASSWORD: # from_secret: docker_password # trigger: # event: # - push # depends_on: # - testing --- kind: pipeline type: ssh name: windows-1909-amd64-docker platform: os: windows server: host: windows.1909.amd64.plugins.drone.ci password: from_secret: windows_password user: from_secret: windows_username steps: - name: build commands: # TODO use the new DRONE_SEMVER_SHORT environment variables to # publish docker images for tag events. - go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker - docker login -u $env:USERNAME -p $env:PASSWORD - docker build -f docker/docker/Dockerfile.windows.1909 -t plugins/docker:windows-1909-amd64 . - docker push plugins/docker:windows-1909-amd64 environment: CGO_ENABLED: "0" USERNAME: from_secret: docker_username PASSWORD: from_secret: docker_password trigger: event: - push depends_on: - testing --- kind: pipeline name: linux-amd64-docker platform: os: linux arch: amd64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: executable pull: always image: golang:1.11 commands: - ./release/linux/amd64/drone-docker --help - name: publish pull: always 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 platform: os: linux arch: arm64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: executable pull: always image: golang:1.11 commands: - ./release/linux/arm64/drone-docker --help - name: publish pull: always 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: linux-arm-docker platform: os: linux arch: arm steps: - name: build-push pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-docker ./cmd/drone-docker" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-docker ./cmd/drone-docker" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: - tag - name: executable pull: always image: golang:1.11 commands: - ./release/linux/arm/drone-docker --help - name: publish pull: always image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm daemon_off: false dockerfile: docker/docker/Dockerfile.linux.arm 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 platform: os: linux arch: amd64 steps: - name: manifest pull: always 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 - name: microbadger pull: always image: plugins/webhook failure: ignore settings: urls: from_secret: microbadger_docker trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - windows-1809-amd64-docker - windows-1909-amd64-docker - linux-amd64-docker - linux-arm64-docker - linux-arm-docker # - windows-1903-amd64-dfocker --- kind: pipeline name: linux-amd64-gcr platform: os: linux arch: amd64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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 platform: os: linux arch: arm64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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: linux-arm-gcr platform: os: linux arch: arm steps: - name: build-push pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-gcr ./cmd/drone-gcr" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-gcr ./cmd/drone-gcr" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: - tag - name: publish pull: always image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm daemon_off: false dockerfile: docker/gcr/Dockerfile.linux.arm 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-arm-docker --- kind: pipeline name: notifications-gcr platform: os: linux arch: amd64 steps: - name: manifest pull: always 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 - name: microbadger pull: always image: plugins/webhook failure: ignore settings: urls: from_secret: microbadger_gcr trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - linux-amd64-gcr - linux-arm64-gcr - linux-arm-gcr --- kind: pipeline name: linux-amd64-ecr platform: os: linux arch: amd64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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 platform: os: linux arch: arm64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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: linux-arm-ecr platform: os: linux arch: arm steps: - name: build-push pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-ecr ./cmd/drone-ecr" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-ecr ./cmd/drone-ecr" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: - tag - name: publish pull: always image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm daemon_off: false dockerfile: docker/ecr/Dockerfile.linux.arm 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-arm-docker --- kind: pipeline name: notifications-ecr platform: os: linux arch: amd64 steps: - name: manifest pull: always 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 - name: microbadger pull: always image: plugins/webhook failure: ignore settings: urls: from_secret: microbadger_ecr trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - linux-amd64-ecr - linux-arm64-ecr - linux-arm-ecr --- kind: pipeline name: linux-amd64-heroku platform: os: linux arch: amd64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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 platform: os: linux arch: arm64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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: linux-arm-heroku platform: os: linux arch: arm steps: - name: build-push pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-heroku ./cmd/drone-heroku" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-heroku ./cmd/drone-heroku" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: - tag - name: publish pull: always image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm daemon_off: false dockerfile: docker/heroku/Dockerfile.linux.arm 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-arm-docker --- kind: pipeline name: notifications-heroku platform: os: linux arch: amd64 steps: - name: manifest pull: always 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 - name: microbadger pull: always image: plugins/webhook failure: ignore settings: urls: from_secret: microbadger_heroku trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - linux-amd64-heroku - linux-arm64-heroku - linux-arm-heroku --- kind: pipeline name: linux-amd64-acr platform: os: linux arch: amd64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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 platform: os: linux arch: arm64 steps: - name: build-push pull: always image: golang:1.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 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.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 GO111MODULE: on when: event: - tag - name: publish pull: always 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: linux-arm-acr platform: os: linux arch: arm steps: - name: build-push pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm/drone-acr ./cmd/drone-acr" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: exclude: - tag - name: build-tag pull: always image: golang:1.11 commands: - "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm/drone-acr ./cmd/drone-acr" environment: CGO_ENABLED: 0 GO111MODULE: on when: event: - tag - name: publish pull: always image: plugins/docker:18 settings: auto_tag: true auto_tag_suffix: linux-arm daemon_off: false dockerfile: docker/acr/Dockerfile.linux.arm 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-arm-docker --- kind: pipeline name: notifications-acr platform: os: linux arch: amd64 steps: - name: manifest pull: always image: plugins/manifest settings: ignore_missing: true password: from_secret: docker_password spec: docker/acr/manifest.tmpl username: from_secret: docker_username - name: microbadger pull: always image: plugins/webhook failure: ignore settings: url: from_secret: microbadger_acr trigger: ref: - refs/heads/master - "refs/tags/**" depends_on: - linux-amd64-acr - linux-arm64-acr - linux-arm-acr ...