From 9832121dbbc7c09150bdda2012a00d14e39ad600 Mon Sep 17 00:00:00 2001 From: sysadmin Date: Wed, 10 Jun 2026 23:21:04 +0100 Subject: [PATCH] fix(build): clean compile before publish (CI shipped stale Core.dll) The deployed toolbox Core.dll was timestamped BEFORE its own build ran -- the CI runner's incremental build reused a cached SilverOS.Welcome.Core.dll, so source fixes (e.g. the winget bootstrap brace fix) never reached the published exe. Wipe all bin/obj under welcome/ and pass --no-incremental so every build is a clean compile. Co-Authored-By: Claude Opus 4.8 --- windows/installer/build.ps1 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/windows/installer/build.ps1 b/windows/installer/build.ps1 index fc64877..4b5a707 100644 --- a/windows/installer/build.ps1 +++ b/windows/installer/build.ps1 @@ -160,7 +160,12 @@ function Invoke-PublishWelcome { Write-Stage 'Stage 3b: publish SilverOS Welcome app (win-x64 self-contained)' $proj = Join-Path $WindowsDir 'welcome\src\SilverOS.Welcome.App' $out = Join-Path $WorkDir 'welcome-publish' - & dotnet publish $proj -c Release -f net9.0-windows10.0.19041.0 -r win-x64 --self-contained true -o $out + # Force a CLEAN compile. The CI runner reuses build artifacts across runs, and dotnet's + # incremental build has shipped a STALE SilverOS.Welcome.Core.dll (old code despite fixed + # source) -- so wipe every bin/obj under welcome/ and pass --no-incremental. + Get-ChildItem (Join-Path $WindowsDir 'welcome') -Recurse -Directory -EA SilentlyContinue | + Where-Object { $_.Name -in 'bin', 'obj' } | Remove-Item -Recurse -Force -EA SilentlyContinue + & dotnet publish $proj -c Release -f net9.0-windows10.0.19041.0 -r win-x64 --self-contained true --no-incremental -o $out if ($LASTEXITCODE -ne 0) { throw 'Welcome app dotnet publish failed' } Write-Host " Published to: $out" } -- 2.39.5