Verify the tracked Windows runtime in native CI

This commit is contained in:
raptorreplica committed 2026-10-11 18:00:54 +11:00
1 parent 25bf21349a
commit f86c5d446d
3 files changed
+31 -4

No files matched your search

+18
View File
@@ -9,11 +9,13 @@ on:
- "mods/**" - "mods/**"
- "data/**" - "data/**"
- "art/**" - "art/**"
- "bin/**"
- "Cargo.toml" - "Cargo.toml"
- "Cargo.lock" - "Cargo.lock"
- "run.cmd" - "run.cmd"
- "runtime-manifest.json" - "runtime-manifest.json"
- ".gitattributes" - ".gitattributes"
- "runtime-windows-manifest.json"
- "tools/assemble_windows.py" - "tools/assemble_windows.py"
- "tools/assemble_runtime.py" - "tools/assemble_runtime.py"
- ".github/workflows/windows.yml" - ".github/workflows/windows.yml"
@@ -46,6 +48,22 @@ jobs:
Expand-Archive "$env:RUNNER_TEMP\SDL2.zip" "$env:RUNNER_TEMP\sdl2" Expand-Archive "$env:RUNNER_TEMP\SDL2.zip" "$env:RUNNER_TEMP\sdl2"
- name: Run portable simulation, mod and Windows save tests - name: Run portable simulation, mod and Windows save tests
run: cargo test --locked --no-default-features run: cargo test --locked --no-default-features
- name: Check the included Windows executable and launcher
shell: pwsh
run: |
$package = $env:GITHUB_WORKSPACE
$manifest = Get-Content "$package\runtime-windows-manifest.json" -Raw | ConvertFrom-Json
foreach ($entry in $manifest.files.PSObject.Properties) {
$actual = (Get-FileHash (Join-Path $package $entry.Name) -Algorithm SHA256).Hash.ToLower()
if ($actual -ne $entry.Value) { throw "Bundled Windows hash mismatch: $($entry.Name)" }
}
Set-Location $env:RUNNER_TEMP
& "$package\run.cmd" --verify-assets
if ($LASTEXITCODE -ne 0) { throw "Included Windows launcher failed" }
$env:SDL_VIDEODRIVER = "dummy"
$env:SDL_AUDIODRIVER = "dummy"
& "$package\run.cmd" --profile-root "$env:RUNNER_TEMP\bundled-profile" --smoke-frames 32 --preview-mission base:sector_1_wave_1
if ($LASTEXITCODE -ne 0) { throw "Included Windows SDL gameplay failed" }
- name: Build and package Windows desktop - name: Build and package Windows desktop
run: python tools/assemble_windows.py --target x86_64-pc-windows-msvc --sdl2-dir "$env:RUNNER_TEMP\sdl2\SDL2-2.32.10" --zip dist/RustRaptor-windows-x86_64.zip run: python tools/assemble_windows.py --target x86_64-pc-windows-msvc --sdl2-dir "$env:RUNNER_TEMP\sdl2\SDL2-2.32.10" --zip dist/RustRaptor-windows-x86_64.zip
- name: Validate packaged data, HD artwork, mods and SDL gameplay - name: Validate packaged data, HD artwork, mods and SDL gameplay
+6 -2
View File
@@ -34,8 +34,12 @@ the relocation. See [repository layout](repository.md).
The exported folder launches via `run.cmd` from `/tmp` after relocation to The exported folder launches via `run.cmd` from `/tmp` after relocation to
a path with spaces and Unicode; all hashes/mods validate. HD1080p gameplay, a path with spaces and Unicode; all hashes/mods validate. HD1080p gameplay,
original4:3 intro and music-muted SDL sound-effect capture pass. Local original4:3 intro and music-muted SDL sound-effect capture pass. Local
evidence is in `.reference/windows/`; native Windows CI checks the pushed evidence is in `.reference/windows/`. Native Windows CI also passes all279
source at [the build run](https://github.com/Quintine/RustRaptor/actions/runs/38119440288). portable tests plus MSVC desktop/exported-folder checks at
[the build run](https://github.com/Quintine/RustRaptor/actions/runs/38119440288).
The Windows executable additionally runs Iron Coast1 with all22mods enabled
and captures its custom music. Hardware display/audio/controller checks
remain manual; automated runs use SDL dummy drivers.
See [Windows build and validation](windows-build.md). The tracked catalog See [Windows build and validation](windows-build.md). The tracked catalog
remains the 340-frame reviewed snapshot while broader HD review continues. remains the 340-frame reviewed snapshot while broader HD review continues.
- Packaged executable now includes the `c0a6fd3` reviewed source checkpoint, - Packaged executable now includes the `c0a6fd3` reviewed source checkpoint,
+7 -2
View File
@@ -73,5 +73,10 @@ original intro retains its 4:3 viewport with 240-pixel black side borders.
SDL captured three seconds of 44.1 kHz stereo audio; a separate capture with SDL captured three seconds of 44.1 kHz stereo audio; a separate capture with
music muted verified nonzero original sound effects (251,682 nonzero samples). music muted verified nonzero original sound effects (251,682 nonzero samples).
Wine checks exercise the Windows executable from Linux; native Windows The [native Windows CI run](https://github.com/Quintine/RustRaptor/actions/runs/38119440288)
builds and runtime checks are also configured in the workflow above. also passed all 279 portable tests, built the MSVC desktop release and
validated the exported folder's launcher, catalog, HD art, all mods and SDL
gameplay from a path with spaces and Unicode. The local GNU build additionally
ran Iron Coast mission 1 at 1080p with all 22 mods enabled and captured its
custom music. Both runs used SDL's dummy output drivers for automation;
physical Windows display, audio and controller hardware remain untested.