name: Build and Package on: push: branches: [default] pull_request: branches: [default] jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v3 - name: Get build number id: buildnumber run: | $runNumber = $env:GITHUB_RUN_NUMBER $version = "2.$runNumber" echo "version=$version" >> $env:GITHUB_OUTPUT - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: "9.0.x" - name: Restore dependencies run: dotnet restore AutoTrackR2.sln - name: Build run: | dotnet build AutoTrackR2.sln --configuration Release --no-restore -p:Version=${{ steps.buildnumber.outputs.version }} - name: Create release directory run: | mkdir release $releaseDir = Get-ChildItem -Recurse -Directory -Filter "Release" | Select-Object -First 1 if ($releaseDir) { # Copy main application files (excluding .pdb) Copy-Item "$($releaseDir.FullName)\AutoTrackR2.exe" "release\" Copy-Item "$($releaseDir.FullName)\AutoTrackR2.dll" "release\" Copy-Item "$($releaseDir.FullName)\AutoTrackR2.runtimeconfig.json" "release\" Copy-Item "$($releaseDir.FullName)\AutoTrackR2.deps.json" "release\" # Copy resources Copy-Item "$($releaseDir.FullName)\config.ini" "release\" Copy-Item "$($releaseDir.FullName)\themes.json" "release\" Copy-Item "$($releaseDir.FullName)\AutoTrackR2.ico" "release\" # Copy fonts Copy-Item "$($releaseDir.FullName)\Fonts\*" "release\Fonts\" -Recurse # Copy assets Copy-Item "$($releaseDir.FullName)\Assets\*" "release\Assets\" -Recurse # Copy sounds Copy-Item "$($releaseDir.FullName)\sounds\*" "release\sounds\" -Recurse # Copy scripts Copy-Item "AutoTrackR2\scripts\*" "release\scripts\" -Recurse } else { Write-Host "No Release directory found" exit 1 } - name: Create zip file run: | Compress-Archive -Path "release\*" -DestinationPath "AutoTrackR2-${{ steps.buildnumber.outputs.version }}.zip" -Force - name: Upload release artifact uses: actions/upload-artifact@v4 with: name: AutoTrackR2-${{ steps.buildnumber.outputs.version }} path: AutoTrackR2-${{ steps.buildnumber.outputs.version }}.zip retention-days: 5