build: add release workflow

This commit is contained in:
CyberL1 2025-02-16 08:38:46 +01:00
parent 334b9aacc6
commit c0ac782dcb

43
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Release
permissions: write-all
on:
push:
tags:
- "v*"
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
os:
- windows
- linux
- darwin
arch:
- amd64
- arm64
exclude:
- os: windows
arch: arm64
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '1.23'
- name: Build binary
run: |
export GOOS=${{ matrix.os }}
export GOARCH=${{ matrix.arch }}
go build -ldflags "-X runtimer/constants.Version=${{ needs.create-tag.outputs.new_tag }}"
- name: Pack binary
run: zip runtimer-${{ matrix.os }}-${{ matrix.arch }}.zip runtimer${{ matrix.os == 'windows' && '.exe' || '' }}
- name: Create release
uses: ncipollo/release-action@v1.15.0
with:
tag: ${{ needs.create-tag.outputs.new_tag }}
artifacts: holesail-proxy-${{ matrix.os }}-${{ matrix.arch }}.zip
allowUpdates: true