name: Build on: push: branches: - 'master' - 'develop' - 'github-action' jobs: Build: runs-on: windows-2019 steps: # - name: Install Windows XP Support for Visual Studio 2022 # windows-2022 # v141_xp # Installation takes more than 5 minutes # run: | # Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\" # $InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" # $componentsToAdd = @( # "Microsoft.VisualStudio.Component.WinXP" # ) # [string]$workloadArgs = $componentsToAdd | ForEach-Object {" --add " + $_} # $Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache') # $process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden # if ($process.ExitCode -eq 0) # { # Write-Host "components have been successfully added" # Get-ChildItem C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Windows.XPSupport.* # } # else # { # Write-Host "components were not installed" # exit 1 # } - name: Clone cnc-ddraw uses: actions/checkout@v4 - name: Release build id: build-release uses: ./ with: release: true - name: ReleaseXP build id: build-releasexp uses: ./ with: releasexp: true - name: Debug build id: build-debug uses: ./ with: debug: true - name: DebugLogXP build id: build-debuglogxp uses: ./ with: debuglogxp: true - name: DebugLogMiniXP build id: build-debuglogminixp uses: ./ with: debuglogminixp: true - name: Prepare artifact run: | : mkdir -p cnc-ddraw-experimental if [[ -f "${{ steps.build-release.outputs.release }}" ]]; then mkdir -p cnc-ddraw-release cp "${{ steps.build-release.outputs.release }}" cnc-ddraw-release fi if [[ -f "${{ steps.build-releasexp.outputs.releasexp }}" ]]; then mkdir -p cnc-ddraw-releasexp cp "${{ steps.build-releasexp.outputs.releasexp }}" cnc-ddraw-releasexp cp "${{ steps.build-releasexp.outputs.releasexp-pdb }}" cnc-ddraw-experimental 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "./cnc-ddraw-experimental/cnc-ddraw-experimental-release.zip" "./cnc-ddraw-releasexp/ddraw.dll" fi if [[ -f "${{ steps.build-debug.outputs.debug }}" ]]; then mkdir -p cnc-ddraw-debug cp "${{ steps.build-debug.outputs.debug }}" cnc-ddraw-debug cp "${{ steps.build-debug.outputs.debug-pdb }}" cnc-ddraw-debug fi if [[ -f "${{ steps.build-debuglogxp.outputs.debuglogxp }}" ]]; then mkdir -p cnc-ddraw-debuglogxp cp "${{ steps.build-debuglogxp.outputs.debuglogxp }}" cnc-ddraw-debuglogxp cp "${{ steps.build-debuglogxp.outputs.debuglogxp-pdb }}" cnc-ddraw-debuglogxp 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "./cnc-ddraw-experimental/cnc-ddraw-experimental-debuglog.zip" "./cnc-ddraw-debuglogxp/*" fi if [[ -f "${{ steps.build-debuglogminixp.outputs.debuglogminixp }}" ]]; then mkdir -p cnc-ddraw-debuglogminixp cp "${{ steps.build-debuglogminixp.outputs.debuglogminixp }}" cnc-ddraw-debuglogminixp cp "${{ steps.build-debuglogminixp.outputs.debuglogminixp-pdb }}" cnc-ddraw-debuglogminixp fi shell: bash - name: Upload artifacts cnc-ddraw-release uses: actions/upload-artifact@v4 with: name: cnc-ddraw-release path: cnc-ddraw-release retention-days: 14 - name: Upload artifacts cnc-ddraw-releasexp uses: actions/upload-artifact@v4 with: name: cnc-ddraw-releasexp path: cnc-ddraw-releasexp retention-days: 14 - name: Upload artifacts cnc-ddraw-debug uses: actions/upload-artifact@v4 with: name: cnc-ddraw-debug path: cnc-ddraw-debug retention-days: 14 - name: Upload artifacts cnc-ddraw-debuglogxp uses: actions/upload-artifact@v4 with: name: cnc-ddraw-debuglogxp path: cnc-ddraw-debuglogxp retention-days: 14 - name: Upload artifacts cnc-ddraw-debuglogminixp uses: actions/upload-artifact@v4 with: name: cnc-ddraw-debuglogminixp path: cnc-ddraw-debuglogminixp retention-days: 14 - name: Release experimental uses: softprops/action-gh-release@v1 with: prerelease: true name: experimental tag_name: experimental files: cnc-ddraw-experimental/* fail_on_unmatched_files: true draft: true