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