-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.goreleaser.yml
More file actions
135 lines (114 loc) · 3.33 KB
/
.goreleaser.yml
File metadata and controls
135 lines (114 loc) · 3.33 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
# GoReleaser configuration for port-selector
# https://goreleaser.com
version: 2
before:
hooks:
# Ensure dependencies are up to date
- go mod tidy
builds:
- id: port-selector
main: ./cmd/port-selector
binary: port-selector
env:
# Disable CGO for static binaries and macOS compatibility
- CGO_ENABLED=0
ldflags:
# Embed version from git tag
- -s -w -X main.version={{.Version}}
# Release targets. Keep this explicit so macOS Apple Silicon is always
# published as a first-class release asset.
targets:
- linux_amd64
- linux_arm64
- darwin_amd64
- darwin_arm64
- windows_amd64
archives:
- id: default
formats:
- binary
name_template: >-
{{ .ProjectName }}-
{{- .Os }}-
{{- .Arch }}
checksum:
name_template: 'checksums.txt'
algorithm: sha256
snapshot:
version_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
use: github
filters:
exclude:
- '^docs(\(.+\))?:'
- '^test(\(.+\))?:'
- '^chore(\(.+\))?:'
- '^refactor(\(.+\))?:'
- '(?i)typo'
groups:
- title: 'New Features'
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
order: 0
- title: 'Bug Fixes'
regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$'
order: 1
- title: 'Performance Improvements'
regexp: '^.*?perf(\([[:word:]]+\))??!?:.+$'
order: 2
- title: 'Documentation Updates'
regexp: '^.*?docs(\([[:word:]]+\))??!?:.+$'
order: 3
- title: 'Other Changes'
order: 999
brews:
- name: port-selector
repository:
owner: dapi
name: homebrew-tap
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
directory: Formula
homepage: "https://github.com/dapi/port-selector"
description: "Port allocator for parallel local dev environments"
license: "MIT"
install: |
binary_name = if OS.mac?
Hardware::CPU.arm? ? "port-selector-darwin-arm64" : "port-selector-darwin-amd64"
else
Hardware::CPU.arm? ? "port-selector-linux-arm64" : "port-selector-linux-amd64"
end
bin.install binary_name => "port-selector"
test: |
system "#{bin}/port-selector", "--help"
release:
github:
owner: dapi
name: port-selector
# Generate release notes from CHANGELOG.md
prerelease: auto
# Keep latest releases
mode: append
# Release notes footer
footer: |
## Installation
### macOS (Apple Silicon)
```bash
curl -L -o port-selector https://github.com/dapi/port-selector/releases/download/{{ .Tag }}/port-selector-darwin-arm64
chmod +x port-selector
sudo mv port-selector /usr/local/bin/
```
### macOS (Intel)
```bash
curl -L -o port-selector https://github.com/dapi/port-selector/releases/download/{{ .Tag }}/port-selector-darwin-amd64
chmod +x port-selector
sudo mv port-selector /usr/local/bin/
```
### Linux (amd64)
```bash
curl -L -o port-selector https://github.com/dapi/port-selector/releases/download/{{ .Tag }}/port-selector-linux-amd64
chmod +x port-selector
sudo mv port-selector /usr/local/bin/
```
### Windows
Download `port-selector-windows-amd64` from the assets below, rename it to `port-selector.exe`, and add it to PATH.
**Full Changelog**: https://github.com/dapi/port-selector/compare/{{ .PreviousTag }}...{{ .Tag }}