detached 103f38f

chore(release): remove Docker-based release workflow, use native goreleaser for amd64-only builds

commit
103f38fe990180c467ca3e21c81a9c765a31a919
author
bnema · · 2025-10-16 05:32 UTC
parent
70bff11
signature
unsigned
4 files · +9 -79
M .goreleaser.yaml +1 -0
@@ -21,6 +21,7 @@ builds:
2121
2222 goarch:
2323 - amd64
24+ - arm64
2425
2526 # Version information via ldflags (matching your Makefile)
2627 ldflags:
@@ -21,6 +21,7 @@ builds:
21 21
22 goarch:22 goarch:
23 - amd6423 - amd64
24+ - arm64
24 25
25 # Version information via ldflags (matching your Makefile)26 # Version information via ldflags (matching your Makefile)
26 ldflags:27 ldflags:
D Dockerfile.release +0 -32
@@ -1,32 +0,0 @@
1-# Dockerfile for building releases with goreleaser
2-# Uses goreleaser-cross which includes cross-compilers for CGO builds
3-FROM ghcr.io/goreleaser/goreleaser-cross:latest
4-
5-# Enable multiarch support for cross-compilation
6-RUN dpkg --add-architecture arm64
7-
8-# Install Node.js, npm, pkg-config, and WebKitGTK/GTK4 development packages for both amd64 and arm64
9-RUN apt-get update && \
10- apt-get install -y \
11- curl \
12- pkg-config \
13- libwebkit2gtk-6.0-dev \
14- libwebkit2gtk-6.0-dev:arm64 \
15- libgtk-4-dev \
16- libgtk-4-dev:arm64 \
17- libglib2.0-dev \
18- libglib2.0-dev:arm64 \
19- libgstreamer1.0-dev \
20- libgstreamer1.0-dev:arm64 \
21- libgstreamer-plugins-base1.0-dev \
22- libgstreamer-plugins-base1.0-dev:arm64 && \
23- curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
24- apt-get install -y nodejs && \
25- apt-get clean && \
26- rm -rf /var/lib/apt/lists/*
27-
28-# Set working directory
29-WORKDIR /workspace
30-
31-# Default command
32-CMD ["goreleaser", "release", "--clean"]
@@ -1,32 +0,0 @@
1-# Dockerfile for building releases with goreleaser
2-# Uses goreleaser-cross which includes cross-compilers for CGO builds
3-FROM ghcr.io/goreleaser/goreleaser-cross:latest
4-
5-# Enable multiarch support for cross-compilation
6-RUN dpkg --add-architecture arm64
7-
8-# Install Node.js, npm, pkg-config, and WebKitGTK/GTK4 development packages for both amd64 and arm64
9-RUN apt-get update && \
10- apt-get install -y \
11- curl \
12- pkg-config \
13- libwebkit2gtk-6.0-dev \
14- libwebkit2gtk-6.0-dev:arm64 \
15- libgtk-4-dev \
16- libgtk-4-dev:arm64 \
17- libglib2.0-dev \
18- libglib2.0-dev:arm64 \
19- libgstreamer1.0-dev \
20- libgstreamer1.0-dev:arm64 \
21- libgstreamer-plugins-base1.0-dev \
22- libgstreamer-plugins-base1.0-dev:arm64 && \
23- curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
24- apt-get install -y nodejs && \
25- apt-get clean && \
26- rm -rf /var/lib/apt/lists/*
27-
28-# Set working directory
29-WORKDIR /workspace
30-
31-# Default command
32-CMD ["goreleaser", "release", "--clean"]
M Makefile +8 -9
@@ -149,14 +149,13 @@ check: ## Check that all tools and dependencies are working
149149 @$(MAKE) test
150150 @echo "\n✅ All checks passed! Project is ready for development."
151151
152-# Docker-based release targets
153-.PHONY: docker-build docker-release docker-check
152+# Native release targets
153+.PHONY: release-snapshot release
154154
155-docker-check: ## Check goreleaser config using Docker
156- docker compose run --rm check
155+release-snapshot: build-frontend ## Build snapshot using native goreleaser (no git tags required)
156+ @echo "Building snapshot with goreleaser..."
157+ goreleaser release --snapshot --clean
157158
158-docker-build: ## Build snapshot using Docker (no git tags required)
159- GITHUB_TOKEN=$$(gh auth token) docker compose run --rm goreleaser
160-
161-docker-release: ## Create full release using Docker
162- GITHUB_TOKEN=$$(gh auth token) docker compose run --rm release
159+release: ## Create full release (amd64 only) using native goreleaser
160+ @echo "Building release with goreleaser..."
161+ GITHUB_TOKEN=$$(gh auth token) goreleaser release --clean
@@ -149,14 +149,13 @@ check: ## Check that all tools and dependencies are working
149 @$(MAKE) test149 @$(MAKE) test
150 @echo "\n✅ All checks passed! Project is ready for development."150 @echo "\n✅ All checks passed! Project is ready for development."
151 151
152-# Docker-based release targets152+# Native release targets
153-.PHONY: docker-build docker-release docker-check153+.PHONY: release-snapshot release
154 154
155-docker-check: ## Check goreleaser config using Docker155+release-snapshot: build-frontend ## Build snapshot using native goreleaser (no git tags required)
156- docker compose run --rm check156+ @echo "Building snapshot with goreleaser..."
157+ goreleaser release --snapshot --clean
157 158
158-docker-build: ## Build snapshot using Docker (no git tags required)159+release: ## Create full release (amd64 only) using native goreleaser
159- GITHUB_TOKEN=$$(gh auth token) docker compose run --rm goreleaser160+ @echo "Building release with goreleaser..."
160-161+ GITHUB_TOKEN=$$(gh auth token) goreleaser release --clean
161-docker-release: ## Create full release using Docker
162- GITHUB_TOKEN=$$(gh auth token) docker compose run --rm release
D docker-compose.yml +0 -38
@@ -1,38 +0,0 @@
1-# Docker Compose configuration for goreleaser builds
2-
3-services:
4- # Goreleaser service for building releases
5- goreleaser:
6- build:
7- context: .
8- dockerfile: Dockerfile.release
9- volumes:
10- - .:/workspace
11- environment:
12- - GITHUB_TOKEN
13- working_dir: /workspace
14- command: build --snapshot --clean
15- network_mode: host
16-
17- # Service for full release (with git tag)
18- release:
19- build:
20- context: .
21- dockerfile: Dockerfile.release
22- volumes:
23- - .:/workspace
24- environment:
25- - GITHUB_TOKEN
26- working_dir: /workspace
27- command: release --clean
28- network_mode: host
29-
30- # Service for validation only
31- check:
32- build:
33- context: .
34- dockerfile: Dockerfile.release
35- volumes:
36- - .:/workspace
37- working_dir: /workspace
38- command: check
@@ -1,38 +0,0 @@
1-# Docker Compose configuration for goreleaser builds
2-
3-services:
4- # Goreleaser service for building releases
5- goreleaser:
6- build:
7- context: .
8- dockerfile: Dockerfile.release
9- volumes:
10- - .:/workspace
11- environment:
12- - GITHUB_TOKEN
13- working_dir: /workspace
14- command: build --snapshot --clean
15- network_mode: host
16-
17- # Service for full release (with git tag)
18- release:
19- build:
20- context: .
21- dockerfile: Dockerfile.release
22- volumes:
23- - .:/workspace
24- environment:
25- - GITHUB_TOKEN
26- working_dir: /workspace
27- command: release --clean
28- network_mode: host
29-
30- # Service for validation only
31- check:
32- build:
33- context: .
34- dockerfile: Dockerfile.release
35- volumes:
36- - .:/workspace
37- working_dir: /workspace
38- command: check

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 8

Tags 42

↑↓ moveenter openesc close