forked from meltwater/drone-cache
-
Notifications
You must be signed in to change notification settings - Fork 14
/
.goreleaser.yml
126 lines (124 loc) · 3.6 KB
/
.goreleaser.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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
project_name: drone-cache
before:
hooks:
- make clean
- make vendor
dist: target/dist
builds:
-
goos:
- darwin
- linux
- windows
# github.com/mattn/go-ieproxy vendor/github.com/mattn/go-ieproxy/GetProxyFunc.go:10:9: undefined: proxyMiddleman
# - openbsd
# - freebsd
# - netbsd
# - dragonfly
goarch:
- 386
- amd64
- arm
- arm64
goarm:
- 6
- 7
ignore:
- goos: darwin
goarch: 386
env:
- CGO_ENABLED=0
flags:
-tags netgo
ldflags: >
-s
-w
-X main.Version={{.Version}}
-X main.Commit={{.ShortCommit}}
-X main.Date={{.Date}}
hooks:
# Ignores failures, this is just best effort. Alternative: find target/dist -name drone-cache -type f -exec upx {} +
post: find target/dist -name drone-cache -type f -print0 | xargs -n 1 -0 upx
archives:
-
id: tarball
format: tar.gz
format_overrides:
- goos: windows
format: zip
wrap_in_directory: true
replacements:
# https://en.wikipedia.org/wiki/Uname
# uname -m compatible.
amd64: x86_64
386: i386
# uname -s compatible.
darwin: Darwin
linux: Linux
windows: Windows
openbsd: OpenBSD
netbsd: NetBSD
freebsd: FreeBSD
dragonfly: DragonFly
files:
- README.md
- CHANGELOG.md
- LICENSE
checksum:
name_template: "{{ .ProjectName }}_{{ .Version }}_checksums.txt" # default
snapshot:
name_template: "{{ .Tag }}-SNAPSHOT-{{.ShortCommit}}" # default
release:
github:
owner: meltwater
name: drone-cache
prerelease: auto # in case there is an indicator for this in the tag e.g. v1.0.0-rc1
changelog:
sort: asc
filters:
exclude:
- typo
- '^docs:'
- '^test:'
- Merge pull request
- Merge branch
dockers:
-
goos: linux
goarch: amd64
goarm: ''
binaries:
- drone-cache
image_templates:
- "meltwater/drone-cache:latest"
- "meltwater/drone-cache:{{ .Tag }}"
- "meltwater/drone-cache:v{{ .Major }}.{{ .Minor }}"
- "meltwater/drone-cache:v{{ .Major }}"
# TODO: Add missing GOOS and ARCH
# .Os GOOS (usually allow replacements)
# .Arch GOARCH (usually allow replacements)
# .Arm GOARM (usually allow replacements)
# .Mips GOMIPS (usually allow replacements)
# TODO: Add github docker repo
# - "docker.pkg.github.com/meltwater/drone-cache/drone-cache:latest"
# - "docker.pkg.github.com/meltwater/drone-cache/drone-cache:{{ .Tag }}"
# - "docker.pkg.github.com/meltwater/drone-cache/drone-cache:v{{ .Major }}.{{ .Minor }}"
# - "docker.pkg.github.com/meltwater/drone-cache/drone-cache:v{{ .Major }}"
# Skips the docker push. Could be useful if you also do draft releases.
# If set to auto, the release will not be pushed to the docker repository
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1
# Defaults to false. It's auto as an additional safety measure.
skip_push: auto
dockerfile: Dockerfile
build_flag_templates:
- "--label=org.label-schema.schema-version=1.0"
- "--label=version={{.Version}}"
- "--label=org.label-schema.name={{.ProjectName}}"
- "--label=org.label-schema.version={{.Version}}"
- "--label=org.label-schema.build-date={{.Date}}"
- "--label=org.label-schema.vcs-ref={{.FullCommit}}"
- "--label=org.label-schema.docker.dockerfile=Dockerfile"
- "--label=org.opencontainers.image.name={{.ProjectName}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"