mirror of
https://github.com/thegeeklab/drone-matrix.git
synced 2024-10-31 16:50:41 +00:00
145 lines
3.6 KiB
YAML
145 lines
3.6 KiB
YAML
workspace:
|
|
base: /go
|
|
path: src/github.com/drone-plugins/drone-matrix
|
|
|
|
pipeline:
|
|
test:
|
|
image: golang:1.9
|
|
pull: true
|
|
commands:
|
|
- go vet
|
|
- |
|
|
for PKG in $(go list ./... | grep -v /vendor/); do
|
|
go test -cover -coverprofile $PKG/coverage.out $PKG
|
|
done
|
|
|
|
build_linux_amd64:
|
|
image: golang:1.9
|
|
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-matrix
|
|
else
|
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-matrix
|
|
fi
|
|
|
|
build_linux_i386:
|
|
image: golang:1.9
|
|
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-matrix
|
|
else
|
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-matrix
|
|
fi
|
|
|
|
build_linux_arm64:
|
|
image: golang:1.9
|
|
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-matrix
|
|
else
|
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-matrix
|
|
fi
|
|
|
|
build_linux_arm:
|
|
image: golang:1.9
|
|
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-matrix
|
|
else
|
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-matrix
|
|
fi
|
|
|
|
publish_linux_amd64:
|
|
image: plugins/docker:17.05
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
group: docker
|
|
repo: plugins/matrix
|
|
auto_tag: true
|
|
auto_tag_suffix: amd64
|
|
dockerfile: Dockerfile
|
|
when:
|
|
event: [ push, tag ]
|
|
|
|
publish_linux_i386:
|
|
image: plugins/docker:17.05
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
group: docker
|
|
repo: plugins/matrix
|
|
auto_tag: true
|
|
auto_tag_suffix: i386
|
|
dockerfile: Dockerfile.i386
|
|
when:
|
|
event: [ push, tag ]
|
|
|
|
publish_linux_arm64:
|
|
image: plugins/docker:17.05
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
group: docker
|
|
repo: plugins/matrix
|
|
auto_tag: true
|
|
auto_tag_suffix: arm64
|
|
dockerfile: Dockerfile.arm64
|
|
when:
|
|
event: [ push, tag ]
|
|
|
|
publish_linux_arm:
|
|
image: plugins/docker:17.05
|
|
pull: true
|
|
secrets: [ docker_username, docker_password ]
|
|
group: docker
|
|
repo: plugins/matrix
|
|
auto_tag: true
|
|
auto_tag_suffix: 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 ]
|