workspace: base: /go path: src/github.com/drone-plugins/drone-ansible pipeline: deps: image: golang:1.10 pull: true commands: - go get -u github.com/golang/dep/cmd/dep - dep ensure - dep status test: image: golang:1.10 pull: true commands: - go vet ./... - go test -cover ./... build_linux_amd64: image: golang:1.10 pull: true group: build environment: - GOOS=linux - GOARCH=amd64 - CGO_ENABLED=0 commands: - | if test "${DRONE_TAG}" = ""; then go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-ansible else go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-ansible fi # build_linux_i386: # image: golang:1.10 # pull: true # group: build # environment: # - GOOS=linux # - GOARCH=386 # - CGO_ENABLED=0 # commands: # - | # if test "${DRONE_TAG}" = ""; then # go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-ansible # else # go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-ansible # fi # build_linux_arm64: # image: golang:1.10 # pull: true # group: build # environment: # - GOOS=linux # - GOARCH=arm64 # - CGO_ENABLED=0 # commands: # - | # if test "${DRONE_TAG}" = ""; then # go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-ansible # else # go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-ansible # fi # build_linux_arm: # image: golang:1.10 # pull: true # group: build # environment: # - GOOS=linux # - GOARCH=arm # - CGO_ENABLED=0 # - GOARM=7 # commands: # - | # if test "${DRONE_TAG}" = ""; then # go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-ansible # else # go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-ansible # fi publish_linux_amd64: image: plugins/docker:17.12 pull: true secrets: [ docker_username, docker_password ] group: docker repo: plugins/ansible auto_tag: true auto_tag_suffix: linux-amd64 dockerfile: Dockerfile when: event: [ push, tag ] # publish_linux_i386: # image: plugins/docker:17.12 # pull: true # secrets: [ docker_username, docker_password ] # group: docker # repo: plugins/ansible # auto_tag: true # auto_tag_suffix: linux-i386 # dockerfile: Dockerfile.i386 # when: # event: [ push, tag ] # publish_linux_arm64: # image: plugins/docker:17.12 # pull: true # secrets: [ docker_username, docker_password ] # group: docker # repo: plugins/ansible # auto_tag: true # auto_tag_suffix: linux-arm64 # dockerfile: Dockerfile.arm64 # when: # event: [ push, tag ] # publish_linux_arm: # image: plugins/docker:17.12 # pull: true # secrets: [ docker_username, docker_password ] # group: docker # repo: plugins/ansible # auto_tag: true # auto_tag_suffix: linux-arm # dockerfile: Dockerfile.arm # when: # event: [ push, tag ] manifests: image: plugins/manifest:1 pull: true secrets: [ docker_username, docker_password ] spec: manifest.tmpl auto_tag: true ignore_missing: true when: event: [ push, tag ] microbadger: image: plugins/webhook:1 pull: true secrets: [ webhook_url ] when: status: [ success ]