.goreleaser.yaml RawHistoryFolder
1# GoReleaser config — builds cross-platform binaries and GitHub Release
2# artifacts for zut. The release workflow creates conventional-commit-based
3# v0.x tags, then invokes GoReleaser for that immutable tag.
4version: 2
5
6project_name: zut
7
8before:
9 hooks:
10 - go mod tidy
11
12builds:
13 - id: zut
14 main: ./cmd/zut
15 binary: zut
16 env:
17 - CGO_ENABLED=0
18 goos: [linux, darwin, windows]
19 goarch: [amd64, arm64]
20 # Windows/arm64 is shipped by Go but rarely used — skip to keep the
21 # release artifact list tidy.
22 ignore:
23 - goos: windows
24 goarch: arm64
25 flags:
26 - -trimpath
27 ldflags:
28 - -s -w
29 - -X main.version={{.Version}}
30 - -X main.commit={{.Commit}}
31 - -X main.date={{.Date}}
32
33archives:
34 - id: zut
35 # Human-friendly name: zut_0.1.0_darwin_arm64.tar.gz
36 name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
37 files:
38 - LICENSE
39 - README.md
40 format_overrides:
41 - goos: windows
42 formats: [zip]
43
44checksum:
45 name_template: "checksums.txt"
46 algorithm: sha256
47
48snapshot:
49 version_template: "{{ incpatch .Version }}-next"
50
51git:
52 # Git's version-aware sort selects semantic versions correctly.
53 tag_sort: -version:refname
54
55changelog:
56 sort: asc
57 use: github
58 filters:
59 # Styling-only commits are neither releasable nor useful release notes.
60 exclude:
61 - "^style:"
62 groups:
63 - title: Added
64 regexp: "^feat(\\([^)]+\\))?!?:"
65 order: 0
66 - title: Fixed
67 regexp: "^fix(\\([^)]+\\))?!?:"
68 order: 1
69 - title: Changed
70 regexp: "^(perf|refactor|build)(\\([^)]+\\))?!?:"
71 order: 2
72 - title: Maintenance
73 regexp: "^(chore|ci)(\\([^)]+\\))?!?:"
74 order: 3
75 - title: Documentation
76 regexp: "^docs(\\([^)]+\\))?!?:"
77 order: 4
78 - title: Tests
79 regexp: "^test(\\([^)]+\\))?!?:"
80 order: 5
81 - title: Other changes
82 order: 999
83
84release:
85 github:
86 owner: bnema
87 name: zut
88 draft: false
89 prerelease: auto
90 header: |
91 ## zut {{ .Tag }}
92
93 Install with:
94
95 ```bash
96 curl -fsSL https://raw.githubusercontent.com/bnema/zut/main/install.sh | bash
97 ```
98
99 Or download a binary below, verify it with `checksums.txt`, and add it to your `$PATH`.