.goreleaser.yaml RawHistoryFolder
1# GoReleaser configuration for dumber browser
2# https://goreleaser.com
3version: 2
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. The release workflow also runs on the GitHub
8# mirror, so older builds, whose updater only reads GitHub, still update:
9# there GoReleaser keeps its github.com defaults.
10github_urls:
11 api: '{{ if eq (index .Env "GITHUB_SERVER_URL") "https://github.com" }}https://api.github.com{{ else }}{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}{{ end }}/'
12 upload: '{{ if eq (index .Env "GITHUB_SERVER_URL") "https://github.com" }}https://uploads.github.com{{ else }}{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/uploads{{ end }}/'
13 download: '{{ or (index .Env "GITHUB_SERVER_URL") "https://git.bnema.dev" }}/'
14
15before:
16 hooks:
17 # Build and verify systemviews assets before building binaries
18 - make build-systemviews
19 - make verify-systemviews-assets
20
21builds:
22 # Pure Go build (no CGO required)
23 - id: dumber
24 main: ./cmd/dumber
25 binary: dumber
26
27 env:
28 - CGO_ENABLED=0
29
30 goos:
31 - linux
32
33 goarch:
34 - amd64
35
36 # Version information via ldflags (matching your Makefile)
37 ldflags:
38 - -s -w
39 - -X main.version={{.Version}}
40 - -X main.commit={{.ShortCommit}}
41 - -X main.buildDate={{.Date}}
42
43archives:
44 - id: default
45 name_template: >-
46 {{ .ProjectName }}_
47 {{- .Os }}_
48 {{- if eq .Arch "amd64" }}x86_64
49 {{- else if eq .Arch "386" }}i386
50 {{- else }}{{ .Arch }}{{ end }}
51 wrap_in_directory: "{{ .ProjectName }}_{{ .Version }}"
52 format_overrides:
53 - goos: linux
54 formats: ['tar.gz']
55 files:
56 - LICENSE
57 - README.md
58 - src: flatpak/dev.bnema.Dumber.desktop
59 dst: .
60 strip_parent: true
61 - src: assets/logo-512.png
62 dst: .
63 strip_parent: true
64
65checksum:
66 name_template: 'checksums.txt'
67 algorithm: sha256
68
69snapshot:
70 version_template: "{{ incpatch .Version }}-next"
71
72changelog:
73 sort: asc
74 use: git
75 filters:
76 exclude:
77 - '^docs:'
78 - '^test:'
79 - '^ci:'
80 - '^chore:'
81 - '^build\(deps\):'
82 - 'Merge pull request'
83 - 'Merge branch'
84 groups:
85 - title: 'Features'
86 regexp: '^feat(\(.+\))?:'
87 order: 0
88 - title: 'Bug Fixes'
89 regexp: '^fix(\(.+\))?:'
90 order: 1
91 - title: 'Performance'
92 regexp: '^perf(\(.+\))?:'
93 order: 2
94 - title: 'Refactoring'
95 regexp: '^refactor(\(.+\))?:'
96 order: 3
97 - title: 'Documentation'
98 regexp: '^docs(\(.+\))?:'
99 order: 4
100 - title: 'Other Changes'
101 order: 999
102
103release:
104 github:
105 owner: bnema
106 name: dumber
107
108 # Don't auto-publish as draft initially
109 draft: false
110
111 # Replace existing draft if it exists
112 replace_existing_draft: true
113
114 # Header for release notes
115 header: |
116 ## {{.Tag}} Release (amd64 Linux)
117
118 Released on {{.Date}}
119
120 # Footer with installation instructions
121 footer: |
122 ---
123
124 ## Installation
125
126 ### Linux (x86_64/amd64)
127 ```bash
128 # Download latest release
129 wget https://git.bnema.dev/dumber/releases/latest/download/dumber_linux_x86_64.tar.gz
130
131 # Extract and install to ~/.local/bin (enables auto-updates)
132 tar -xzf dumber_linux_x86_64.tar.gz
133 mkdir -p ~/.local/bin
134 install -m 755 dumber_*/dumber ~/.local/bin/
135
136 # Ensure ~/.local/bin is in your PATH (add to ~/.bashrc or ~/.zshrc if needed)
137 # export PATH="$HOME/.local/bin:$PATH"
138 ```
139
140 ### Dependencies
141
142 **Arch Linux:**
143 ```bash
144 # Core CEF, WebKit fallback, and GTK4
145 sudo pacman -S cef webkitgtk-6.0 gtk4
146
147 # GStreamer for WebKit media playback
148 sudo pacman -S gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-plugin-pipewire pipewire pipewire-pulse
149
150 # Optional CEF build with VA-API hardware video decoding
151 # paru -S cef-vaapi
152
153 # Hardware acceleration drivers (choose based on your GPU)
154 # AMD: sudo pacman -S mesa
155 # NVIDIA: sudo pacman -S libva-nvidia-driver
156 # Intel: sudo pacman -S libva-intel-driver intel-media-driver
157 ```
158
159 **Debian/Ubuntu:**
160 ```bash
161 # GTK4 and WebKit fallback
162 sudo apt install libwebkitgtk-6.0-4 libgtk-4-1
163
164 # GStreamer for media playback
165 sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-pipewire
166
167 # Hardware acceleration
168 sudo apt install gstreamer1.0-vaapi va-driver-all
169 ```
170
171 # Auto-detect prerelease from version (v1.0.0-rc1, v1.0.0-alpha, etc.)
172 prerelease: auto
173
174 # Mark as latest release
175 make_latest: true
176
177 # Replace existing release notes
178 mode: replace