strimertul/.forgejo/workflows/release.yml

42 lines
1.8 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:205e8cd7128765972de385919a0d9b389dc20541569d7c7b2251b964ed1110fe
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 from 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: /${{ github.ref_name }}/
recursive: true