Skip to content

Merge pull request #8 from schoolyear/fix/auto-update #10

Merge pull request #8 from schoolyear/fix/auto-update

Merge pull request #8 from schoolyear/fix/auto-update #10

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*' # Trigger this workflow when a new tag is pushed that matches the pattern
jobs:
build:
name: Build and release Go binaries
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '^1.23'
- name: Extract version from tag
id: get_version
run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Output directory
run: mkdir -p bin
- name: Windows amd64
run: GOOS=windows GOARCH=amd64 go build -ldflags="-X 'github.com/schoolyear/avd-cli/static.Version=${{ env.VERSION }}' -X 'github.com/schoolyear/avd-cli/static.ReleaseFile=avdcli-windows-amd64.exe'" -o bin/avdcli-windows-amd64.exe
- name: Windows arm64
run: GOOS=windows GOARCH=arm64 go build -ldflags="-X 'github.com/schoolyear/avd-cli/static.Version=${{ env.VERSION }}' -X 'github.com/schoolyear/avd-cli/static.ReleaseFile=avdcli-windows-arm64.exe'" -o bin/avdcli-windows-arm64.exe
- name: macOS amd64
run: GOOS=darwin GOARCH=amd64 go build -ldflags="-X 'github.com/schoolyear/avd-cli/static.Version=${{ env.VERSION }}' -X 'github.com/schoolyear/avd-cli/static.ReleaseFile=avdcli-macos-amd64'" -o bin/avdcli-macos-amd64
- name: macOS arm64
run: GOOS=darwin GOARCH=arm64 go build -ldflags="-X 'github.com/schoolyear/avd-cli/static.Version=${{ env.VERSION }}' -X 'github.com/schoolyear/avd-cli/static.ReleaseFile=avdcli-macos-arm64'" -o bin/avdcli-macos-arm64
- name: linux amd64
run: GOOS=linux GOARCH=amd64 go build -ldflags="-X 'github.com/schoolyear/avd-cli/static.Version=${{ env.VERSION }}' -X 'github.com/schoolyear/avd-cli/static.ReleaseFile=avdcli-linux-amd64'" -o bin/avdcli-linux-amd64
- name: linux arm64
run: GOOS=linux GOARCH=arm64 go build -ldflags="-X 'github.com/schoolyear/avd-cli/static.Version=${{ env.VERSION }}' -X 'github.com/schoolyear/avd-cli/static.ReleaseFile=avdcli-linux-arm64'" -o bin/avdcli-linux-arm64
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
files: |
bin/avdcli-windows-amd64.exe
bin/avdcli-windows-arm64.exe
bin/avdcli-macos-amd64
bin/avdcli-macos-arm64
bin/avdcli-linux-amd64
bin/avdcli-linux-arm64
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}