a lil builder

This commit is contained in:
thom 2025-04-29 12:28:10 +00:00
parent e6be71dc81
commit 3f893bce7a

44
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,44 @@
stages:
- build
variables:
CGO_ENABLED: "0"
PROJECT_NAME: "WiiMart-Patcher"
# Custom GOPATH for better cache control
GOPATH: "${CI_PROJECT_DIR}/.go"
# Enable Go module caching
GO_MOD_CACHE: "${CI_PROJECT_DIR}/.go/pkg/mod"
# Enable build cache
GOCACHE: "${CI_PROJECT_DIR}/.cache/go-build"
build-all-platforms:
stage: build
tags:
- golang # Your self-hosted runner tag
image: golang:latest
script:
- mkdir -p bin
- mkdir -p "${GOCACHE}"
# Linux builds
- GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o bin/${PROJECT_NAME}-linux-amd64 ./...
- GOOS=linux GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o bin/${PROJECT_NAME}-linux-arm64 ./...
# Windows builds
- GOOS=windows GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o bin/${PROJECT_NAME}-windows-amd64.exe ./...
- GOOS=windows GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o bin/${PROJECT_NAME}-windows-arm64.exe ./...
# macOS builds
- GOOS=darwin GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o bin/${PROJECT_NAME}-darwin-amd64 ./...
- GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o bin/${PROJECT_NAME}-darwin-arm64 ./...
# Generate checksums
- sha256sum bin/* > bin/checksums.txt
artifacts:
paths:
- bin/
cache:
paths:
- .go/pkg/mod
- .cache/go-build
key: ${CI_JOB_NAME}