Repository navigation
Preserve boost session lifecycle and partial process results #36
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: CI | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --locked --all-targets --release -- -W clippy::all | |
| - name: Test | |
| run: cargo test --locked --release | |
| - name: Build release binary | |
| run: cargo build --locked --release | |
| - name: Read-only diagnostics smoke test | |
| shell: pwsh | |
| run: | | |
| $reportDir = Join-Path $env:RUNNER_TEMP 'game-accelerator-diagnostics' | |
| New-Item -ItemType Directory -Path $reportDir -Force | Out-Null | |
| $reportPath = Join-Path $reportDir 'diagnostics.toml' | |
| $arguments = '--config-dir "{0}" --diagnose "{1}"' -f $reportDir, $reportPath | |
| $process = Start-Process -FilePath '.\target\release\game-accelerator.exe' -ArgumentList $arguments -WindowStyle Hidden -Wait -PassThru | |
| if ($process.ExitCode -ne 0) { | |
| throw "Diagnostics failed with exit code $($process.ExitCode)." | |
| } | |
| if (-not (Test-Path -LiteralPath $reportPath -PathType Leaf)) { | |
| throw 'Diagnostics did not create the expected report.' | |
| } | |
| if ((Get-Item -LiteralPath $reportPath).Length -eq 0) { | |
| throw 'The diagnostic report is empty.' | |
| } | |
| - name: Package portable app | |
| shell: pwsh | |
| run: .\scripts\build-local.ps1 -SkipBuild | |
| - name: Upload portable package | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: GameAccelerator-windows-x64 | |
| path: | | |
| dist/GameAccelerator-*-windows-x64.zip | |
| dist/GameAccelerator-*-windows-x64.zip.sha256 | |
| dist/GameAccelerator/SHA256SUMS.txt | |
| if-no-files-found: error |