-
Notifications
You must be signed in to change notification settings - Fork 41
/
.drone.yml
109 lines (99 loc) · 2.71 KB
/
.drone.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
kind: pipeline
name: default
workspace:
base: /go
path: src/github.com/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}
steps:
- name: test
image: golang:1.13
pull: true
commands:
- go vet
- go test -cover -coverprofile=coverage.out
- name: build_linux_amd64
image: golang:1.13
depends_on: [ test ]
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_REPO_NAME}
else
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/${DRONE_REPO_NAME}
fi
- name: build_linux_arm64
image: golang:1.13
depends_on: [ test ]
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_REPO_NAME}
else
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/${DRONE_REPO_NAME}
fi
- name: build_linux_arm
image: golang:1.13
depends_on: [ test ]
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_REPO_NAME}
else
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/${DRONE_REPO_NAME}
fi
- name: publish_linux_amd64
image: plugins/docker
depends_on: [ build_linux_amd64 ]
settings:
auto_tag: true
username:
from_secret: docker_username
password:
from_secret: docker_password
repo:
from_secret: plugin_repo
dockerfile: Dockerfile
when:
event: [ tag, push ]
- name: publish_linux_arm64
image: plugins/docker
depends_on: [ build_linux_arm64 ]
settings:
auto_tag: true
auto_tag_suffix: linux-arm64
username:
from_secret: docker_username
password:
from_secret: docker_password
repo:
from_secret: plugin_repo
dockerfile: Dockerfile.arm64
when:
event: [ tag, push ]
- name: publish_linux_arm
image: plugins/docker
depends_on: [ build_linux_arm ]
settings:
auto_tag: true
auto_tag_suffix: linux-arm
username:
from_secret: docker_username
password:
from_secret: docker_password
repo:
from_secret: plugin_repo
dockerfile: Dockerfile.arm
when:
event: [ tag, push ]