revert(install-e2e): drop the 12-minute no-progress tripwire
The pre-#97052 prompt wedge fires AFTER the updater has already moved the checkout (stash cleanup, reset, bootstrap refresh all precede the upstream-remote prompt), so checkout movement cannot distinguish a wedged updater from a working one. Two CI rides confirmed the check never fires. The 35-minute wait bound already caps these legs.
This commit is contained in:
@@ -758,31 +758,12 @@ function Invoke-GuiUpdateDesktopRoute([string]$TargetSha) {
|
||||
Write-Host " waiting for the detached updater to finish (up to 35 min) ..."
|
||||
$updateLog = Join-Path $HermesHome "logs\update.log"
|
||||
$updateLogPos = 0
|
||||
$startSha = ""
|
||||
try { $startSha = Get-InstalledHead } catch {}
|
||||
$deadline = (Get-Date).AddMinutes(35)
|
||||
# A working updater moves the checkout off the starting sha within its
|
||||
# first minutes (git fetch/reset precedes the long venv + rebuild
|
||||
# tail). No movement by this mark means the updater is wedged before
|
||||
# its git step; waiting out the full bound adds nothing. Unreadable
|
||||
# counts as unmoved (the wedge holds the venv shim lock, so reads can
|
||||
# throw), but only two consecutive no-progress polls trip it: one bad
|
||||
# read must not fail a healthy leg.
|
||||
$progressDeadline = (Get-Date).AddMinutes(12)
|
||||
$noProgressPolls = 0
|
||||
while ((Get-Date) -lt $deadline) {
|
||||
if (Test-Path -LiteralPath $resultPath) { break }
|
||||
$head = ""
|
||||
try { $head = Get-InstalledHead } catch {}
|
||||
if ($head -eq $TargetSha -and -not (Test-Path -LiteralPath $markerPath)) { break }
|
||||
if ((Get-Date) -gt $progressDeadline -and ($head -eq $startSha -or $head -eq "")) {
|
||||
$noProgressPolls++
|
||||
if ($noProgressPolls -ge 2) {
|
||||
Assert-True $false "updater made progress off $startSha within 12 minutes (checkout unmoved or unreadable; wedged before its git step... on pre-#97052 releases this is the fork-upstream prompt hang)"
|
||||
}
|
||||
} else {
|
||||
$noProgressPolls = 0
|
||||
}
|
||||
# Tail any new update.log lines so the desktop-rebuild phase is
|
||||
# visible in the CI step output.
|
||||
if (Test-Path -LiteralPath $updateLog) {
|
||||
|
||||
Reference in New Issue
Block a user