-
Notifications
You must be signed in to change notification settings - Fork 442
/
.goreleaser.yml
138 lines (124 loc) · 3.79 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
127
128
129
130
131
132
133
134
135
136
137
138
# This is an example .goreleaser.yml file with some sane defaults.
# Make sure to check the documentation at http://goreleaser.com
env:
- GO111MODULE=on
before:
hooks:
- go mod download
- go mod tidy
builds:
- &build_default
id: server
main: ./cmd
binary: toxiproxy-server-{{.Os}}-{{.Arch}}
no_unique_dist_dir: true
env:
- CGO_ENABLED=0
goos:
- darwin
- freebsd
- linux
- netbsd
- openbsd
- solaris
- windows
goarch:
- amd64
- arm64
ignore:
- goos: windows
goarch: arm64
ldflags:
- -s -w -X github.com/Shopify/toxiproxy.Version={{.Version}}
- <<: *build_default
id: client
main: ./cli
binary: toxiproxy-client-{{.Os}}-{{.Arch}}
checksum:
name_template: checksums.txt
snapshot:
name_template: "{{ incpatch .Version }}-next"
nfpms:
-
id: packages
package_name: toxiproxy
homepage: https://github.com/Shopify/toxiproxy
maintainer: Shopify Opensource <opensource@shopify.com>
description: TCP proxy to simulate network and system conditions.
license: MIT
formats:
- apk
- deb
- rpm
# NOTE: Starting with Ubuntu 15.04, Upstart will be deprecated in favor of Systemd.
# contents:
# - src: share/toxiproxy.conf
# dst: /etc/init/toxiproxy.conf
dockers:
- &docker
use: buildx
skip_push: true
dockerfile: Dockerfile
ids:
- server
- client
goos: linux
goarch: amd64
image_templates:
- shopify/toxiproxy:{{ .Version }}-amd64
- shopify/toxiproxy:v{{ .Major }}-amd64
- shopify/toxiproxy:v{{ .Major }}.{{ .Minor }}-amd64
build_flag_templates:
- --platform=linux/amd64
- --no-cache
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/Shopify/{{ .ProjectName }}
- --label=org.opencontainers.image.source=https://github.com/Shopify/{{ .ProjectName }}
- --label=org.opencontainers.image.version={{ .Version }}
- --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
- <<: *docker
goarch: arm64
image_templates:
- shopify/toxiproxy:{{ .Version }}-arm64
- shopify/toxiproxy:v{{ .Major }}-arm64
- shopify/toxiproxy:v{{ .Major }}.{{ .Minor }}-arm64
build_flag_templates:
- --platform=linux/arm64/v8
- --no-cache
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/Shopify/{{ .ProjectName }}
- --label=org.opencontainers.image.source=https://github.com/Shopify/{{ .ProjectName }}
- --label=org.opencontainers.image.version={{ .Version }}
- --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
docker_manifests:
-
skip_push: true
name_template: shopify/{{ .ProjectName }}:{{ .Version }}
image_templates:
- shopify/{{ .ProjectName }}:{{ .Version }}-amd64
- shopify/{{ .ProjectName }}:{{ .Version }}-arm64
-
skip_push: true
name_template: shopify/{{ .ProjectName }}:latest
image_templates:
- shopify/{{ .ProjectName }}:{{ .Version }}-amd64
- shopify/{{ .ProjectName }}:{{ .Version }}-arm64
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
archives:
-
id: archive_binaries
format: binary
-
id: archive_default
format: tar.gz