name: Build on: push: workflow_dispatch: jobs: build-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.24' - name: Install Task uses: arduino/setup-task@v2 - name: Build Linux Binary run: task build - name: Get Version id: get_version run: echo "VERSION=$(cat VERSION.txt)" >> $GITHUB_ENV - name: Rename Linux Binary with Version run: mv bin/HATray bin/HATray-linux-amd64-${{ env.VERSION }} - name: Upload Linux Binary uses: actions/upload-artifact@v4 with: name: HATray-linux-amd64-${{ env.VERSION }} path: bin/HATray-linux-amd64-${{ env.VERSION }} build-windows: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.24' - name: Install Task uses: arduino/setup-task@v2 - name: Set up .NET for WiX uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - name: Install WiX Toolset run: dotnet tool install --global wix - name: Add WiX Extensions run: | wix extension add WixToolset.Util.wixext wix extension add WixToolset.UI.wixext - name: Build Windows Binary run: task build - name: Build MSI run: task package - name: Get Version id: get_version_win shell: pwsh run: | $version = Get-Content VERSION.txt echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Append - name: Rename Windows Binary with Version shell: pwsh run: Rename-Item -Path bin/HATray.exe -NewName "HATray-windows-amd64-$env:VERSION.exe" - name: Rename MSI with Version shell: pwsh run: | $msi = Get-ChildItem -Path bin -Filter "HATray-*.msi" | Select-Object -First 1 if ($msi) { Rename-Item -Path $msi.FullName -NewName "HATray-windows-amd64-$env:VERSION.msi" } - name: Upload Windows Binary uses: actions/upload-artifact@v4 with: name: HATray-windows-amd64-${{ env.VERSION }}.exe path: bin/HATray-windows-amd64-${{ env.VERSION }}.exe - name: Upload MSI uses: actions/upload-artifact@v4 with: name: HATray-windows-amd64-${{ env.VERSION }}.msi path: bin/HATray-windows-amd64-${{ env.VERSION }}.msi