feat: introduce custom wails-builder Docker image to optimize CI build speed and consistency
Build and Upload Binaries / build-and-upload (push) Successful in 7m49s

This commit is contained in:
2026-06-09 12:14:52 +01:00
parent 0e32f6b57d
commit b711428311
3 changed files with 54 additions and 22 deletions
+5 -22
View File
@@ -21,16 +21,9 @@ jobs:
mkdir -p dist
# Build Linux amd64 and Windows (amd64 & arm64) binaries
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace golang:1.26.4-bookworm bash -c "
apt-get update && apt-get install -y curl gcc mingw-w64 libgtk-3-dev libwebkit2gtk-4.1-dev
# Install Node.js
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
# Install Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@latest
export PATH=\"\$PATH:\$(go env GOPATH)/bin\"
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace cr.jdbnet.co.uk/jdbnet/wails-builder:latest bash -c "
# Install frontend dependencies
cd frontend && npm install && cd ..
# Linux amd64
wails build -platform linux/amd64 -tags webkit2_41 -clean
@@ -48,24 +41,14 @@ jobs:
- name: Build Linux ARM64 binary (via QEMU)
run: |
# Build Linux arm64 binaries (via QEMU)
docker run --rm --platform linux/arm64 -v ${{ github.workspace }}:/workspace -w /workspace golang:1.26.4-bookworm bash -c "
apt-get update && apt-get install -y curl gcc libgtk-3-dev libwebkit2gtk-4.1-dev
# Install Node.js
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
docker run --rm --platform linux/arm64 -v ${{ github.workspace }}:/workspace -w /workspace cr.jdbnet.co.uk/jdbnet/wails-builder:latest bash -c "
# Re-install frontend dependencies for arm64 (clears out the amd64 esbuild binary)
rm -rf frontend/node_modules
cd frontend && npm install && cd ..
# Install Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@latest
export PATH=\"\$PATH:\$(go env GOPATH)/bin\"
# Linux arm64
wails build -platform linux/arm64 -tags webkit2_41 -clean
cp build/bin/goexplore-init dist/goexplore-linux-arm64
cp build/bin/goexplore dist/goexplore-linux-arm64
"
- name: Upload to Cloudflare R2