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: | |||
| 21 | 21 | ||
| 22 | 22 | goarch: | |
| 23 | 23 | - amd64 | |
| 24 | + | - arm64 | |
| 24 | 25 | ||
| 25 | 26 | # Version information via ldflags (matching your Makefile) | |
| 26 | 27 | ldflags: | |
| @@ -21,6 +21,7 @@ builds: | |||||
| 21 | 21 | ||||
| 22 | goarch: | 22 | goarch: | ||
| 23 | - amd64 | 23 | - 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 | |||
| 149 | 149 | @$(MAKE) test | |
| 150 | 150 | @echo "\n✅ All checks passed! Project is ready for development." | |
| 151 | 151 | ||
| 152 | - | # Docker-based release targets | |
| 153 | - | .PHONY: docker-build docker-release docker-check | |
| 152 | + | # Native release targets | |
| 153 | + | .PHONY: release-snapshot release | |
| 154 | 154 | ||
| 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 | |
| 157 | 158 | ||
| 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) test | 149 | @$(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 targets | 152 | + | # Native release targets |
| 153 | - | .PHONY: docker-build docker-release docker-check | 153 | + | .PHONY: release-snapshot release |
| 154 | 154 | ||||
| 155 | - | docker-check: ## Check goreleaser config using Docker | 155 | + | release-snapshot: build-frontend ## Build snapshot using native goreleaser (no git tags required) |
| 156 | - | docker compose run --rm check | 156 | + | @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 goreleaser | 160 | + | @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 | |||