.goreleaser.yaml RawHistoryFolder
1# GoReleaser config — builds cross-platform binaries and GitHub Release
2# artifacts for zot.
3#
4# Triggered by pushing a tag like `v0.1.0`. The release workflow runs
5# `goreleaser release --clean`, which compiles every target, packs
6# them into `.tar.gz` (Unix) / `.zip` (Windows) archives, generates a
7# checksum file, and uploads everything to a GitHub Release.
8
9version: 2
10
11project_name: zot
12
13before:
14 hooks:
15 - go mod tidy
16
17builds:
18 - id: zot
19 main: ./cmd/zot
20 binary: zot
21 env:
22 - CGO_ENABLED=0
23 goos: [linux, darwin, windows]
24 goarch: [amd64, arm64]
25 # Windows/arm64 is shipped by Go but rarely used — skip to keep the
26 # release artifact list tidy.
27 ignore:
28 - goos: windows
29 goarch: arm64
30 flags:
31 - -trimpath
32 ldflags:
33 - -s -w
34 - -X main.version={{.Version}}
35 - -X main.commit={{.Commit}}
36 - -X main.date={{.Date}}
37
38archives:
39 - id: zot
40 # Human-friendly name: zot_0.1.0_darwin_arm64.tar.gz
41 name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
42 files:
43 - LICENSE
44 - README.md
45 format_overrides:
46 - goos: windows
47 format: zip
48
49checksum:
50 name_template: "checksums.txt"
51 algorithm: sha256
52
53snapshot:
54 # Used by `goreleaser release --snapshot`; lets contributors build
55 # a local release without pushing a tag.
56 version_template: "{{ incpatch .Version }}-next"
57
58changelog:
59 sort: asc
60 use: github
61 filters:
62 exclude:
63 - "^docs:"
64 - "^chore:"
65 - "^ci:"
66 - "^test:"
67 groups:
68 - title: features
69 regexp: "^.*feat[(\\w)]*:+.*$"
70 order: 0
71 - title: fixes
72 regexp: "^.*fix[(\\w)]*:+.*$"
73 order: 1
74 - title: other
75 order: 999
76
77release:
78 github:
79 owner: patriceckhart
80 name: zot
81 draft: false
82 prerelease: auto
83 # Auto-generated release notes include the changelog groups above plus
84 # an install snippet so the release page itself is a landing page.
85 header: |
86 ## zot {{ .Tag }}
87
88 one-liner install:
89
90 ```bash
91 curl -fsSL https://raw.githubusercontent.com/patriceckhart/zot/main/install.sh | bash
92 ```
93
94 or download a binary below, `chmod +x`, and drop it on your `$PATH`.