--- kind: pipeline name: testing platform: arch: amd64 os: linux steps: - commands: - make vet image: golang:1.19 name: vet pull: always volumes: - name: gopath path: /go - image: robertstettner/drone-codecov name: codecov pull: always settings: token: from_secret: codecov_token volumes: - name: gopath temp: {} --- depends_on: - testing kind: pipeline name: linux-amd64 platform: arch: amd64 os: linux steps: - commands: - go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-ssh environment: CGO_ENABLED: "0" image: golang:1.19 name: build-push pull: always when: event: exclude: - tag - commands: - go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-ssh environment: CGO_ENABLED: "0" image: golang:1.19 name: build-tag pull: always when: event: - tag - commands: - ./release/linux/amd64/drone-ssh --help image: golang:1.19 name: executable pull: always - image: plugins/docker:linux-amd64 name: dryrun pull: always settings: cache_from: appleboy/drone-ssh daemon_off: false dockerfile: docker/Dockerfile.linux.amd64 dry_run: true repo: appleboy/drone-ssh tags: linux-amd64 when: event: - pull_request - image: plugins/docker:linux-amd64 name: publish pull: always settings: auto_tag: true auto_tag_suffix: linux-amd64 cache_from: appleboy/drone-ssh daemon_off: "false" dockerfile: docker/Dockerfile.linux.amd64 password: from_secret: docker_password repo: appleboy/drone-ssh username: from_secret: docker_username when: event: exclude: - pull_request trigger: ref: - refs/heads/master - refs/pull/** - refs/tags/** --- depends_on: - testing kind: pipeline name: release-binary platform: arch: amd64 os: linux steps: - commands: - export PATH=$PATH:$GOPATH/bin - make release image: techknowlogick/xgo:go-1.19.x name: build-all-binary pull: always when: event: - tag - image: plugins/github-release name: deploy-all-binary pull: always settings: api_key: from_secret: github_release_api_key files: - dist/release/* when: event: - tag trigger: ref: - refs/tags/** --- depends_on: - linux-amd64 kind: pipeline name: notifications platform: arch: amd64 os: linux steps: - image: plugins/manifest name: manifest pull: always settings: ignore_missing: true password: from_secret: docker_password spec: docker/manifest.tmpl username: from_secret: docker_username trigger: ref: - refs/heads/master - refs/tags/**