forked from superfly/flyctl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.goreleaser.yml
116 lines (104 loc) · 2.88 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
env:
- BUILD_ENV={{if index .Env "BUILD_ENV"}}{{.Env.BUILD_ENV}}{{else}}production{{end}}
before:
hooks:
- go mod download
- go generate ./...
builds:
- id: default
env:
- CGO_ENABLED=0
goos:
- darwin
- linux
ignore:
- goos: darwin
goarch: 386
- goos: linux
goarch: 386
ldflags:
- -X github.com/superfly/flyctl/internal/buildinfo.buildDate={{.CommitDate}}
- -X github.com/superfly/flyctl/internal/buildinfo.buildVersion={{.Version}}
- -X github.com/superfly/flyctl/internal/buildinfo.commit={{.ShortCommit}}
tags:
- "{{.Env.BUILD_ENV}}"
- id: windows
env:
- CGO_ENABLED=0
goos:
- windows
ignore:
- goos: windows
goarch: 386
ldflags:
- -X github.com/superfly/flyctl/internal/buildinfo.buildDate={{.CommitDate}}
- -X github.com/superfly/flyctl/internal/buildinfo.buildVersion={{.Version}}
- -X github.com/superfly/flyctl/internal/buildinfo.commit={{.ShortCommit}}
tags:
- "{{.Env.BUILD_ENV}}"
archives:
- id: windows
name_template: >-
{{ .ProjectName }}_{{ .Version}}_
{{- if eq .Os "windows" }}Windows
{{- else }}{{ .Os }}{{- end }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else }}{{ .Arch }}{{- end }}
builds:
- windows
files:
- wintun.dll
wrap_in_directory: false
format: zip
- id: default
name_template: >-
{{ .ProjectName }}_{{ .Version}}_
{{- if eq .Os "darwin" }}macOS
{{- else if eq .Os "linux" }}Linux
{{- else }}{{ .Os }}{{- end }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else }}{{ .Arch }}{{- end }}
builds:
- default
files: [only-the-binary*]
wrap_in_directory: false
format: tar.gz
release:
prerelease: auto
dockers:
- goos: linux
goarch: amd64
image_templates:
- "flyio/flyctl:latest"
- "flyio/flyctl:v{{ .Version }}"
- "ghcr.io/superfly/flyctl:latest"
- "ghcr.io/superfly/flyctl:v{{ .Version }}"
skip_push: auto
checksum:
name_template: "checksums.txt"
snapshot:
name_template: "{{.Version}}-{{.Branch}}.{{.CommitTimestamp}}"
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
brews:
- repository:
owner: superfly
name: homebrew-tap
folder: Formula
homepage: https://fly.io
skip_upload: auto
test: |
system "#{bin}/flyctl version"
install: |
bin.install "flyctl"
bin.install_symlink "flyctl" => "fly"
bash_output = Utils.safe_popen_read("#{bin}/flyctl", "completion", "bash")
(bash_completion/"flyctl").write bash_output
zsh_output = Utils.safe_popen_read("#{bin}/flyctl", "completion", "zsh")
(zsh_completion/"_flyctl").write zsh_output
fish_output = Utils.safe_popen_read("#{bin}/flyctl", "completion", "fish")
(fish_completion/"flyctl.fish").write fish_output