name: Build and Publish on: push: branches: [ "master" ] pull_request: branches: [ "master" ] 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: Build Release env: GITHUB_RUN_NUMBER: ${{ github.run_number }} GITHUB_SHA: ${{ github.sha }} run: dotnet build -c Release --no-restore - name: Publish Release env: GITHUB_RUN_NUMBER: ${{ github.run_number }} GITHUB_SHA: ${{ github.sha }} run: dotnet publish -c Release -r win-x64 --self-contained true --no-build - name: Create ZIP shell: pwsh run: | $publish = "bin/Release/net10.0/win-x64/publish" $version = (Select-String -Path "$publish\*.deps.json" -Pattern '"version":').Line.Split('"')[3] $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