From 2e49a84ace81ecde1520e1b6e2966e0cb2fca24d Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 6 Oct 2026 09:52:02 -0400 Subject: [PATCH] CI: remove the temporary ARM64 crash-diagnosis job It was only for finding the WARP crash (fixed in the previous commit) and was merged with #66 by accident; it ran a 60-iteration crash-dump loop and edited the runner's registry on every push. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/windows-arm64.yml | 34 ----------------------------- 1 file changed, 34 deletions(-) diff --git a/.github/workflows/windows-arm64.yml b/.github/workflows/windows-arm64.yml index b019fc73..bb05a3eb 100644 --- a/.github/workflows/windows-arm64.yml +++ b/.github/workflows/windows-arm64.yml @@ -124,37 +124,3 @@ jobs: key: windows-arm64-test - name: Test run: cargo test --workspace --locked - - # TEMPORARY (remove before merge): find the test in tests/view.rs that intermittently dies with - # STATUS_ACCESS_VIOLATION on ARM64. Single-threaded, so the last "test … " line names it. - diag-view: - name: diag view.rs crash (temporary) - runs-on: windows-11-arm - timeout-minutes: 120 - steps: - - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@v2 - with: - key: windows-arm64-test - - name: Build the view tests - run: cargo test -p printcraft-ui-egui --test view --no-run - - name: Crash dump of the view tests, with the crashing stack - shell: pwsh - run: | - $dumps = "$env:RUNNER_TEMP\dumps"; New-Item -ItemType Directory -Force $dumps | Out-Null - $key = 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' - New-Item -Force $key | Out-Null - Set-ItemProperty $key DumpFolder $dumps; Set-ItemProperty $key DumpType 2; Set-ItemProperty $key DumpCount 3 - $exe = (Get-ChildItem target\debug\deps\view-*.exe | Sort-Object LastWriteTime | Select-Object -Last 1).FullName - Write-Output "binary: $exe" - for ($i = 1; $i -le 60; $i++) { - & $exe --quiet *> $null - if ($LASTEXITCODE -ne 0) { Write-Output "crashed on run $i (exit $LASTEXITCODE)"; Start-Sleep 5; if (Get-ChildItem $dumps -Filter *.dmp) { break } } - } - $dump = Get-ChildItem $dumps -Filter *.dmp | Select-Object -First 1 - if (-not $dump) { Write-Output 'no dump written'; exit 0 } - $cdb = Get-ChildItem 'C:\Program Files (x86)\Windows Kits\10\Debuggers' -Recurse -Filter cdb.exe -ErrorAction SilentlyContinue | Sort-Object { $_.FullName -notmatch 'arm64' } | Select-Object -First 1 - if (-not $cdb) { Write-Output 'cdb not found'; Get-ChildItem 'C:\Program Files (x86)\Windows Kits\10' -Directory | Out-String; exit 0 } - Write-Output "cdb: $($cdb.FullName)" - & $cdb.FullName -z $dump.FullName -y "srv*;$(Split-Path $exe)" -c ".lines -d; .echo ===FAULT===; .ecxr; kn 30; .echo ===MODULES===; lm m d3d*; lm m dxgi*; lm m *warp*; lm m nv*; lm m qc*; .echo ===END===; q" 2>&1 | Select-String -Pattern '===|!|ExceptionCode|Attempt|d3d|dxgi|warp|start' | Select-Object -First 120