-
Notifications
You must be signed in to change notification settings - Fork 137
/
.goreleaser.yml
179 lines (156 loc) · 5.12 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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# https://goreleaser.com/
version: 2
env:
- CGO_ENABLED=0 # Build statically linked binaries
builds:
-
ldflags:
- -s -w -X "main.version={{.Env.RELEASE_VERSION}}"
main: main.go
binary: tfswitch
goos:
- darwin
- linux
- windows
goarch:
- 386
- amd64
- arm
- arm64
goarm:
- 6
- 7
ignore:
- goos: windows
goarch: arm64
checksum:
name_template: '{{ .ProjectName }}_{{.Env.RELEASE_VERSION}}_checksums.txt'
archives:
- id: archives
name_template: >-
{{- .ProjectName }}_
{{- .Env.RELEASE_VERSION }}_
{{- .Os }}_
{{- .Arch }}
{{- if .Arm }}v{{ .Arm }}{{ end -}}
brews:
-
# Name of the recipe
# Default to project name
name: tfswitch
# GitHub/GitLab repository to push the formula to
# Gitea is not supported yet, but the support coming
repository:
owner: warrensbox
name: homebrew-tap
token: "{{ .Env.PERSONAL_ACCESS_TOKEN }}"
# Reporitory to push the tap to.
# github:
# owner: warrensbox
# name: homebrew-tap
# Allows you to set a custom download strategy.
# Default is empty.
#download_strategy: GitHubPrivateRepositoryReleaseDownloadStrategy
# Git author used to commit to the repository.
# Defaults are shown.
commit_author:
name: Warren Veerasingam
email: [email protected]
# Folder inside the repository to put the formula.
# Default is the root folder.
directory: Formula
# Caveats for the user of your binary.
# Default is empty.
caveats: "Type 'tfswitch' on your command line and choose Terraform version that you want from the dropdown"
# Your app's homepage.
# Default is empty.
homepage: "https://warrensbox.github.io/terraform-switcher"
# Your app's description.
# Default is empty.
description: "The tfswitch command lets you switch between terraform versions."
# Packages that conflict with your package.
conflicts:
- terraform
# Setting this will prevent goreleaser to actually try to commit the updated
# formula - instead, the formula file will be stored on the dist folder only,
# leaving the responsibility of publishing it to the user.
# Default is false.
skip_upload: false
# So you can `brew test` your formula.
# Default is empty.
test: |
system "#{bin}/tfswitch --version"
# Custom install script for brew.
# Default is 'bin.install "program"'.
install: |
bin.install "tfswitch"
changelog:
# Set this to true if you don't want any changelog at all.
# Templates: allowed
disable: "{{ .Env.NO_CREATE_CHANGELOG }}"
# Changelog generation implementation to use.
#
# Valid options are:
# - `git`: uses `git log`;
# - `github`: uses the compare GitHub API, appending the author login to the changelog.
# - `gitlab`: uses the compare GitLab API, appending the author name and email to the changelog.
# - `github-native`: uses the GitHub release notes generation API, disables the groups feature.
#
# Default: 'git'
use: github
# Sorts the changelog by the commit's messages.
# Could either be asc, desc or empty
# Empty means 'no sorting', it'll use the output of `git log` as is.
sort:
# Max commit hash length to use in the changelog.
#
# 0: use whatever the changelog implementation gives you
# -1: remove the commit hash from the changelog
# any other number: max length.
abbrev: -1
# Group commits messages by given regex and title.
# Order value defines the order of the groups.
# Providing no regex means all commits will be grouped under the default group.
#
# Matches are performed against the first line of the commit message only,
# prefixed with the commit SHA1, usually in the form of
# `<abbrev-commit>[:] <title-commit>`.
# Groups are disabled when using github-native, as it already groups things by itself.
# Regex use RE2 syntax as defined here: https://github.com/google/re2/wiki/Syntax.
groups:
- title: Features
order: 0
regexp: '^.*?feat(ure)?(\([[:word:]]+\))??!?:.+$'
- title: "Bug fixes"
order: 1
regexp: '^.*?(bug(fix)?|fix)(\([[:word:]]+\))??!?:.+$'
- title: Documentation
order: 2
regexp: "^.*?doc(s|umentation).*"
- title: Go
order: 3
regexp: "^.*?go: "
- title: Others
order: 999
filters:
# Commit messages matching the regexp listed here will be removed from
# the changelog
#
# Matches are performed against the first line of the commit message only,
# prefixed with the commit SHA1, usually in the form of
# `<abbrev-commit>[:] <title-commit>`.
exclude:
- "^.*?Merge pull request "
- "^.*?test(ing)?"
# Commit messages matching the regexp listed here will be the only ones
# added to the changelog
#
# If include is not-empty, exclude will be ignored.
#
# Matches are performed against the first line of the commit message only,
# prefixed with the commit SHA1, usually in the form of
# `<abbrev-commit>[:] <title-commit>`.
#
# Since: v1.19
#include:
# - "^feat:"