strimertul/.forgejo/workflows/release.yml

42 lines
1.7 KiB
YAML

name: Release new version
on:
push:
tags:
- "v*.*.*"
- "v*.*.*-alpha.*"
- "v*.*.*-beta.*"
- "v*.*.*-rc.*"
workflow_dispatch:
env:
GOPRIVATE: git.sr.ht
jobs:
release:
runs-on: docker
container:
image: ghcr.io/ashkeel/cross-wails:v2.8.1@sha256:f40cd11894cb7b4bdacf72830337a0b2c81bc49becdba7ca3a6c7c39238de888
credentials:
username: ${{ secrets.GHCR_USERNAME }}
password: ${{ secrets.GHCR_PASSWORD }}
steps:
- uses: actions/checkout@v4
- name: Build linux/amd64 release
run: GOOS=linux GOARCH=amd64 CC=x86_64-linux-gnu-gcc wails build -ldflags "-X main.appVersion=${GITHUB_REF_NAME}" -platform linux/amd64 -upx -upxflags "-9" -o strimertul-amd64
- name: Build linux/arm64 release
run: GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc wails build -ldflags "-X main.appVersion=${GITHUB_REF_NAME}" -m -nosyncgomod -skipbindings -s -platform linux/arm64 -upx -upxflags "-9" -o strimertul-arm64
- name: Build windows/amd64 release
run: GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc wails build -ldflags "-X main.appVersion=${GITHUB_REF_NAME}" -m -nosyncgomod -skipbindings -s -platform windows/amd64 -upx -upxflags "-9"
- name: Move binaries to build/bin
run: mkdir "${GITHUB_REF_NAME}" && mv build/bin/strimertul* "${GITHUB_REF_NAME}/"
- name: Upload binaries to MinIO
uses: https://github.com/yakubique/minio-upload@v1.1.3
with:
endpoint: https://artifacts.fromouter.space
access_key: ${{ secrets.MINIO_ACCESS }}
secret_key: ${{ secrets.MINIO_SECRET }}
bucket: strimertul-builds
source: "./${GITHUB_REF_NAME}/"
target: /
recursive: true