-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy path.goreleaser.yml
151 lines (139 loc) · 3.82 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
139
140
141
142
143
144
145
146
147
148
149
150
151
project_name: exoscale-cli
before:
hooks:
- make manpages completions
builds:
- binary: exo
env:
- CGO_ENABLED=0
flags:
- -mod=vendor
- -trimpath
ldflags:
- -s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}}
goos:
- windows
- darwin
- linux
- openbsd
goarch:
- amd64
- arm
- arm64
goarm:
- 6
- 7
ignore:
- goos: openbsd
goarch: arm
- goos: openbsd
goarch: arm64
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
# macOS Universal Binaries
universal_binaries:
- replace: true
name_template: 'exo'
archives:
- id: windows
format_overrides:
- goos: windows
format: zip
files:
- LICENSE
- contrib/completion/**/*
- manpage/*
release:
github:
owner: exoscale
name: cli
nfpms:
- vendor: Exoscale
homepage: https://www.exoscale.com/
maintainer: Exoscale Support <[email protected]>
description: Manage easily your Exoscale infrastructure from the command-line.
license: Apache 2.0
id: nfpms
formats:
- deb
- rpm
contents:
# manpages
- src: "./manpage/exo*.1"
dst: "/usr/share/man/man1"
# bash
- src: "./contrib/completion/bash/exo"
dst: "/usr/share/bash-completion/completions/exo"
# fish
- src: "./contrib/completion/fish/exo"
dst: "/usr/share/fish/vendor_completions.d/exo.fish"
# zsh
- src: "./contrib/completion/zsh/_exo"
dst: "/usr/share/zsh/vendor-completions/_exo"
brews:
- repository:
owner: exoscale
name: homebrew-tap
directory: Formula
homepage: "https://exoscale.github.io/cli/"
description: Manage easily your Exoscale infrastructure from the command-line.
install: |
bin.install "exo"
man1.install Dir["manpage/exo*.1"]
bash_completion.install "contrib/completion/bash/exo"
fish_completion.install "contrib/completion/fish/exo"
zsh_completion.install "contrib/completion/zsh/_exo"
dockers:
- goos: linux
goarch: amd64
image_templates:
- "exoscale/cli:latest"
- "exoscale/cli:{{ .Major }}"
- "exoscale/cli:{{ .Major }}.{{ .Minor }}"
- "exoscale/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}"
dockerfile: Dockerfile.goreleaser
build_flag_templates:
- --pull
- --build-arg="VERSION={{.Version}}"
- --build-arg="VCS_REF={{.ShortCommit}}"
- --build-arg="BUILD_DATE={{.Date}}"
source:
enabled: true
prefix_template: "{{ .ProjectName }}_{{ .Version }}/"
name_template: "{{ .ProjectName }}_{{ .Version }}"
files:
- go.mk/*
signs:
- cmd: gpg
args: ["--default-key", "7100E8BFD6199CE0374CB7F003686F8CDE378D41", "--detach-sign", "${artifact}"]
artifacts: all
scoops:
- description: "Command-line tool for everything at Exoscale: compute, storage, dns."
directory: "bucket"
commit_author:
name: "Exoscale Tooling"
email: "[email protected]"
commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}"
homepage: "https://github.com/exoscale/cli"
license: "Apache License 2.0"
repository:
owner: exoscale
name: cli
branch: master
publishers:
- name: rpms
env:
- AWS_ACCESS_KEY_ID={{ .Env.EXOSCALE_API_KEY }}
- AWS_SECRET_ACCESS_KEY={{ .Env.EXOSCALE_API_SECRET }}
ids:
- nfpms
cmd: ./go.mk/scripts/publish-rpm-artifact-to-sos.sh {{ .ArtifactPath }} exoscale-packages rpm/cli 10
- name: aptly
env:
- AWS_ACCESS_KEY_ID={{ .Env.EXOSCALE_API_KEY }}
- AWS_SECRET_ACCESS_KEY={{ .Env.EXOSCALE_API_SECRET }}
ids:
- nfpms
cmd: ./go.mk/scripts/publish-deb-artifact-to-sos.sh {{ .ArtifactPath }} exoscale-packages deb/cli 10 {{ .ProjectName }}