Nightly (Experimental) Build #28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Nightly (Experimental) Build | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| on: | |
| schedule: | |
| - cron: "0 3 * * *" # 03:00 UTC daily | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup MSBuild | |
| uses: microsoft/setup-msbuild@v2 | |
| - name: Run generate-nightly.bat to create solution | |
| run: | | |
| echo "Running generate-nightly.bat to produce consolation-client.sln..." | |
| call generate-nightly.bat | |
| shell: cmd | |
| working-directory: ${{ github.workspace }} | |
| - name: Verify consolation-client.sln exists | |
| run: dir build | |
| shell: pwsh | |
| - name: Clean old d3d9.dll | |
| run: | | |
| $dllPath = "build/bin/Release/d3d9.dll" | |
| if (Test-Path $dllPath) { | |
| Write-Host "Removing old d3d9.dll..." | |
| Remove-Item $dllPath -Force | |
| } else { | |
| Write-Host "No old DLL found, skipping." | |
| } | |
| shell: pwsh | |
| - name: Build solution | |
| run: msbuild build\consolation-client.sln /p:Configuration=Release /p:OutDir=bin/Release/ | |
| shell: pwsh | |
| working-directory: ${{ github.workspace }} | |
| - name: Copy required files to release folder | |
| run: | | |
| $source = "${{ github.workspace }}\required_files\*" | |
| $dest = "${{ github.workspace }}\build\bin\Release\" | |
| Write-Host "Copying required files from $source to $dest" | |
| Copy-Item $source -Destination $dest -Recurse -Force | |
| shell: pwsh | |
| - name: Package release zip | |
| run: | | |
| $releaseDir = "${{ github.workspace }}\build\bin\Release" | |
| $zipPath = "${{ github.workspace }}\consolation-nightly.zip" | |
| # grab only the files we actually want to ship | |
| $files = Get-ChildItem -Path $releaseDir -File | | |
| Where-Object { $_.Extension -notin @('.lib', '.pdb', '.exp') } | |
| Compress-Archive -Path $files.FullName -DestinationPath $zipPath -Force | |
| Write-Host "Created $zipPath with $($files.Count) files" | |
| shell: pwsh | |
| - name: Get short commit hash | |
| id: shortsha | |
| run: | | |
| $short = $env:GITHUB_SHA.Substring(0, 7) | |
| Write-Output "short_sha=$short" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 | |
| shell: pwsh | |
| - name: Create/Update Nightly Release and upload zip | |
| uses: softprops/action-gh-release@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: nightly | |
| name: Nightly Build | |
| body: Nightly build from commit ${{ steps.shortsha.outputs.short_sha }} | |
| draft: false | |
| prerelease: true | |
| overwrite_files: true | |
| files: consolation-nightly.zip |