-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.goreleaser.yaml
More file actions
150 lines (137 loc) · 3.54 KB
/
Copy path.goreleaser.yaml
File metadata and controls
150 lines (137 loc) · 3.54 KB
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
version: 2
project_name: goago
before:
hooks:
- go mod verify
- go mod tidy -diff
builds:
- id: goago
binary: goago
main: ./cmd/goago
env:
- CGO_ENABLED=0
mod_timestamp: "{{ .CommitTimestamp }}"
flags:
- -trimpath
ldflags:
- -s -w
- -X github.com/agentstation/goago.Version={{ .Version }}
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm64
archives:
- id: goago
ids:
- goago
formats: [tar.gz]
format_overrides:
- goos: windows
formats: [zip]
name_template: >-
{{ .ProjectName }}_
{{- .Version }}_
{{- .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else }}{{ .Arch }}{{ end }}
files:
- README.md
- CHANGELOG.md
- goago.schema.json
- COPYRIGHT
- LICENSE-MIT
- LICENSE-APACHE
homebrew_casks:
- name: goago
ids:
- goago
repository:
owner: agentstation
name: homebrew-tap
# goreleaser validates this field literally. Only the "{{ .Env.NAME }}"
# form passes, not an index expression. Publication resolves it, so
# snapshot builds do not need the variable set.
token: "{{ .Env.HOMEBREW_TAP_TOKEN }}"
# Never replace the stable cask with a release candidate.
skip_upload: auto
directory: Casks
commit_author:
name: "GitHub Actions"
email: "actions@github.com"
commit_msg_template: "Update goago to {{ .Tag }}"
homepage: https://github.com/agentstation/goago
description: Linter that enforces one way to write Go
binaries:
- goago
custom_block: |
postflight_steps do
on_macos do
run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{ "{{staged_path}}" }}/goago"], sudo: false
end
end
checksum:
name_template: checksums.txt
algorithm: sha256
sboms:
- artifacts: archive
documents:
- "${artifact}.sbom.json"
snapshot:
version_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
use: github
filters:
exclude:
- '^docs:'
- '^test:'
- '^chore:'
- '^style:'
- '^refactor:'
- '^plan:'
- '^revert:'
- '^Revert '
- '^Guard '
- '^Merge '
groups:
- title: New and changed rules
regexp: '^.*?feat\(rules?\)!?:.+$'
order: 0
- title: Features
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
order: 1
- title: Fixes
regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$'
order: 2
- title: Performance
regexp: '^.*?perf(\([[:word:]]+\))??!?:.+$'
order: 3
- title: Build and CI
regexp: '^.*?(build|ci)(\([[:word:]]+\))??!?:.+$'
order: 4
- title: Other changes
order: 999
release:
github:
owner: agentstation
name: goago
name_template: "goago {{ .Tag }}"
header: |
`goago` enforces one way to write Go across a codebase. Developers, coding
agents, and CI use the same configurable Go subset.
```sh
go get -tool github.com/agentstation/goago/cmd/goago@latest
go tool goago ./...
```
A config file is optional. The pinned version supplies the default policy.
Global installs remain available through `go install`, Homebrew, and the
release archives below.
Verify downloaded archives against `checksums.txt`. Each archive ships an
SBOM alongside it.
footer: |
**Full changelog:** https://github.com/agentstation/goago/compare/{{ .PreviousTag }}...{{ .Tag }}
prerelease: auto
make_latest: '{{ if .Prerelease }}false{{ else }}true{{ end }}'