From 08f0691fa3c58da0b006197db6b83b2dcbaf8299 Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Sat, 26 Sep 2026 22:23:03 -0700 Subject: [PATCH] Revert "test(e2e/windows): hermes update follows the store the desktop smoke settled on" This reverts commit c7883282c91. On real Windows (runs 36293787001 and 36293789061, c7883282 + #124702), dropping HERMES_RUNTIME_DIR for the update turned a 40-second red ("source launcher publication failed") into a silent 40-minute hang: the update finished its code, Desktop rebuild and skills steps, printed the curator notice, and never exited until the job was cancelled. The store it then used (\tools) was created by the desktop smoke and never received the install's PM tools, so the update's post-update default-tool install ran against a half-populated second store. Both one-sided variants (keep the variable in the smoke; drop it for the update) fail. The real fix is one store per leg, and it touches every Windows leg, so it goes in on its own with a full Windows run. --- tests/install/windows-e2e.ps1 | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/tests/install/windows-e2e.ps1 b/tests/install/windows-e2e.ps1 index 2f0aebd057..628ff5c96c 100644 --- a/tests/install/windows-e2e.ps1 +++ b/tests/install/windows-e2e.ps1 @@ -489,25 +489,6 @@ function Invoke-HermesUpdate { # releases; ask the installed binary, never parse its source. $hermesExe = Get-SourceHermes $InstallDir $updateArgs = @("update") - # The desktop smoke runs the app without the job's HERMES_RUNTIME_DIR, the - # way a user's app runs, so it settles the install onto \tools - # and republishes .hermes\bin for that store's Python. Updating from that - # hermes.exe with the job's store back in scope made the update re-point - # its own running, locked launcher ("source launcher publication failed"). - # Follow the store the install last settled on, as a user machine has one. - $jobRuntimeDir = $env:HERMES_RUNTIME_DIR - if ($jobRuntimeDir -and (Test-Path -LiteralPath (Join-Path $HermesHome "tools"))) { - Write-Host " update runs on the install's own store ($HermesHome\tools), not HERMES_RUNTIME_DIR" - Remove-Item Env:HERMES_RUNTIME_DIR - } - try { - Invoke-HermesUpdateOnce $hermesExe $updateArgs - } finally { - if ($jobRuntimeDir) { $env:HERMES_RUNTIME_DIR = $jobRuntimeDir } - } -} - -function Invoke-HermesUpdateOnce([string]$hermesExe, [string[]]$updateArgs) { $prevEap = $ErrorActionPreference; $ErrorActionPreference = "Continue" $helpText = & $hermesExe update --help 2>&1 | Out-String $helpExit = $LASTEXITCODE