name: Build and Publish on: push: tags: - 'v*' jobs: build: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 10.0.x - name: Restore run: dotnet restore -r win-x64 - name: 'Get Version' id: version uses: battila7/get-version-action@v2 - name: Build Release run: dotnet build -c Release --no-restore -r win-x64 /p:Version=${{ steps.version.outputs.version-without-v }} /p:BuildNumber=${{ github.run_number }} /p:SourceRevisionId=${{ github.sha }} - name: Publish Release run: dotnet publish -c Release -r win-x64 --self-contained true --no-build /p:Version=${{ steps.version.outputs.version-without-v }} /p:BuildNumber=${{ github.run_number }} /p:SourceRevisionId=${{ github.sha }} - name: Create ZIP shell: pwsh run: | $publish = "bin/Release/net10.0/win-x64/publish" $version = ${{ steps.version.outputs.version-without-v }} $zip = "splitter-win-x64-$version-${{ github.run_number }}.zip" if (Test-Path $zip) { Remove-Item $zip } Compress-Archive -Path "$publish/*" -DestinationPath $zip Write-Host "Created $zip" - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: splitter-win-x64 path: splitter-win-x64-*.zip