.goreleaser.yaml RawHistoryFolder
1version: 2
2
3project_name: vev
4
5# Releases are published on ermite. In CI the runner sets GITHUB_API_URL and
6# GITHUB_SERVER_URL to an address the job can reach; the public URLs are the
7# fallback for a local run.
8github_urls:
9 api: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/'
10 upload: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/uploads/'
11 download: '{{ or (index .Env "GITHUB_SERVER_URL") "https://git.bnema.dev" }}/'
12
13before:
14 hooks:
15 - go mod tidy
16
17builds:
18 - id: vev
19 main: .
20 binary: vev
21 env:
22 - CGO_ENABLED=0
23 goos:
24 - linux
25 - darwin
26 goarch:
27 - amd64
28 - arm64
29 ignore:
30 - goos: darwin
31 goarch: amd64
32 ldflags:
33 - -s -w
34 - -X github.com/bnema/vev/internal/app.version={{.Version}}
35 - -X github.com/bnema/vev/internal/app.commit={{.ShortCommit}}
36 - -X github.com/bnema/vev/internal/app.date={{.Date}}
37
38archives:
39 - id: default
40 # Contract consumed by install.sh and the AUR package block:
41 # vev_linux_x86_64.tar.gz / vev_linux_arm64.tar.gz / vev_darwin_arm64.tar.gz
42 name_template: >-
43 {{ .ProjectName }}_{{ .Os }}_{{ if eq .Arch "amd64" }}x86_64{{ else }}{{ .Arch }}{{ end }}
44 formats: ['tar.gz']
45 files:
46 - LICENSE
47 - README.md
48 - scripts/vev-bar-top-right
49 - scripts/vev-bar-bottom-right
50
51checksum:
52 # Fixed name: install.sh downloads .../download/<tag>/checksums.txt
53 name_template: checksums.txt
54 algorithm: sha256
55
56changelog:
57 sort: asc
58 use: git
59 filters:
60 exclude:
61 - '^docs(\(.+\))?:'
62 - '^test(\(.+\))?:'
63 - '^ci(\(.+\))?:'
64 - '^chore(\(.+\))?:'
65 - '^build\(deps.*\):'
66 - Merge pull request
67 - Merge branch
68 groups:
69 - title: Features
70 regexp: '^feat(\(.+\))?:'
71 order: 0
72 - title: Bug Fixes
73 regexp: '^fix(\(.+\))?:'
74 order: 1
75 - title: Performance
76 regexp: '^perf(\(.+\))?:'
77 order: 2
78 - title: Refactoring
79 regexp: '^refactor(\(.+\))?:'
80 order: 3
81 - title: Other Changes
82 order: 999
83
84release:
85 github:
86 owner: bnema
87 name: vev
88 draft: false
89 replace_existing_draft: true
90 replace_existing_artifacts: true
91 prerelease: auto
92 make_latest: true
93 footer: |
94 ---
95
96 ## Install
97
98 ### Script (Linux x86_64/arm64, macOS arm64)
99 ```sh
100 curl -fsSL https://git.bnema.dev/vev/raw/{{ .Tag }}/install.sh | VEV_VERSION={{ .Tag }} sh
101 ```
102
103 ### Arch Linux
104 ```sh
105 yay -S vev-bin
106 ```
107
108 ### macOS note
109 The darwin binary is ad-hoc signed by the Go toolchain, not notarized.
110 Installing via the script or `curl` avoids the quarantine attribute;
111 if you downloaded the archive with a browser, Gatekeeper will block it.
112 Removing the attribute bypasses a Gatekeeper security control — only do
113 it for the vev binary itself, after verifying its checksum:
114 ```sh
115 xattr -d com.apple.quarantine ~/.local/bin/vev
116 ```
117
118git:
119 tag_sort: -version:refname
120
121aurs:
122 - name: vev-bin
123 ids: ['default']
124 homepage: https://git.bnema.dev/vev
125 # Public URL: github_urls.download is the CI-only relay address.
126 url_template: 'https://git.bnema.dev/vev/releases/download/{{ .Tag }}/{{ .ArtifactName }}'
127 description: Terminal multiplexer with a per-user daemon, server-side rendering, and minimal socket/SSH diffs
128 maintainers:
129 - bnema <b at bnema dot dev>
130 license: MIT
131 private_key: '{{ .Env.AUR_KEY }}'
132 git_url: ssh://aur@aur.archlinux.org/vev-bin.git
133 # auto: prerelease tags (v1.2.3-rc.1) are not pushed to AUR.
134 skip_upload: auto
135 provides:
136 - vev
137 conflicts:
138 - vev
139 package: |-
140 install -Dm755 "./vev" "${pkgdir}/usr/bin/vev"
141 install -Dm755 "./scripts/vev-bar-top-right" "${pkgdir}/usr/bin/vev-bar-top-right"
142 install -Dm755 "./scripts/vev-bar-bottom-right" "${pkgdir}/usr/bin/vev-bar-bottom-right"
143 install -Dm644 "./LICENSE" "${pkgdir}/usr/share/licenses/vev-bin/LICENSE"
144 commit_msg_template: 'Update to {{ .Tag }}'