detached c5f4fce

build: add goreleaser config for linux/amd64 and darwin/arm64

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

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close