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