From e3dded4be3a8f4df22e3d712d310678dc6333f9c Mon Sep 17 00:00:00 2001 From: l0ng-ai Date: Thu, 6 Aug 2026 13:14:08 +0800 Subject: [PATCH] fix(release): keep the Inno payload for the package verifier to read (#368) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `verify-windows-package.ps1` reads the Inno staging directory to check what lands in {app} — the compiled setup.exe cannot be read back without innoextract, which the runners do not carry. But `bundle-windows.ps1` deleted that directory as its last act, so the verifier has failed on every Windows build since the check arrived in #330: "the Inno staging directory is missing". Nightly has been red for two nights (2026-08-05, 2026-08-06) and a stable release would fail the same way — release.yml runs the same step. Both workflows already expected the directory to survive: their upload steps name it among the dist/ intermediates the asset globs deliberately skip. So this drops the removal rather than teaching the verifier to tolerate an absent payload, which would retire the check it was added to make. Claude-Session: https://claude.ai/code/session_01H9QqEZ6JH3dGS6atEcf6ab Co-authored-by: l0ng-ai <24760907+l0ng-ai@users.noreply.github.com> --- .github/scripts/bundle-windows.ps1 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/scripts/bundle-windows.ps1 b/.github/scripts/bundle-windows.ps1 index f065291c..46bee01a 100644 --- a/.github/scripts/bundle-windows.ps1 +++ b/.github/scripts/bundle-windows.ps1 @@ -107,6 +107,10 @@ if (-not $Iscc) { $Iscc = "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe" } .github/scripts/windows-installer.iss if ($LASTEXITCODE -ne 0) { throw "ISCC exited with $LASTEXITCODE" } -Remove-Item -Recurse -Force $Stage +# The staging directory stays. It is what ISCC compiled the installer from, and +# reading the compiled setup.exe back would need innoextract, which the runners +# do not carry — so `verify-windows-package.ps1` reads the payload here instead. +# It never reaches the release: both workflows upload named file globs +# (*.zip, *-setup.exe, …), and a directory matches none of them. Write-Host "OK dist/$Name.zip" Write-Host "OK dist/$Name-setup.exe"