mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 22:05:17 +00:00
[Windows] Add pause after Windows Update (#4641)
This commit is contained in:
committed by
GitHub
parent
d0f20ddfa3
commit
c50afe27cd
@@ -519,7 +519,7 @@ function Get-WindowsUpdatesHistory {
|
||||
43 {
|
||||
$status = "InProgress"
|
||||
$title = $event.Properties[0].Value
|
||||
break
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -538,7 +538,7 @@ function Invoke-SBWithRetry {
|
||||
param (
|
||||
[scriptblock] $Command,
|
||||
[int] $RetryCount = 10,
|
||||
[int] $TimeoutInSecs = 5
|
||||
[int] $RetryIntervalSeconds = 5
|
||||
)
|
||||
|
||||
while ($RetryCount -gt 0) {
|
||||
@@ -547,15 +547,15 @@ function Invoke-SBWithRetry {
|
||||
return
|
||||
}
|
||||
catch {
|
||||
Write-Host "There is an error encounterd:`n $_"
|
||||
Write-Host "There is an error encountered:`n $_"
|
||||
$RetryCount--
|
||||
|
||||
if ($RetryCount -eq 0) {
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Waiting $TimeoutInSecs seconds before retrying. Retries left: $RetryCount"
|
||||
Start-Sleep -Seconds $TimeoutInSecs
|
||||
Write-Host "Waiting $RetryIntervalSeconds seconds before retrying. Retries left: $RetryCount"
|
||||
Start-Sleep -Seconds $RetryIntervalSeconds
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
################################################################################
|
||||
## File: Wait-WindowsUpdatesForInstall.ps1
|
||||
## Desc: Wait for installation windows updates to complete
|
||||
################################################################################
|
||||
|
||||
Invoke-SBWithRetry -RetryCount 10 -RetryIntervalSeconds 120 -Command {
|
||||
$inProgress = Get-WindowsUpdatesHistory | Where-Object Status -eq "InProgress"
|
||||
if ( $inProgress ) {
|
||||
$title = $inProgress.Title -join "`n"
|
||||
throw "InProgress: $title"
|
||||
}
|
||||
}
|
||||
@@ -274,6 +274,7 @@
|
||||
"type": "powershell",
|
||||
"pause_before": "2m",
|
||||
"scripts": [
|
||||
"{{ template_dir }}/scripts/Installers/Wait-WindowsUpdatesForInstall.ps1",
|
||||
"{{ template_dir }}/scripts/Tests/RunAll-Tests.ps1"
|
||||
]
|
||||
},
|
||||
|
||||
@@ -251,11 +251,15 @@
|
||||
},
|
||||
{
|
||||
"type": "windows-restart",
|
||||
"check_registry": true,
|
||||
"restart_check_command": "powershell -command \"& {if ((-not (Get-Process TiWorker.exe -ErrorAction SilentlyContinue)) -and (-not [System.Environment]::HasShutdownStarted) ) { Write-Output 'Restart complete' }}\"",
|
||||
"restart_timeout": "30m"
|
||||
},
|
||||
{
|
||||
"type": "powershell",
|
||||
"pause_before": "2m",
|
||||
"scripts": [
|
||||
"{{ template_dir }}/scripts/Installers/Wait-WindowsUpdatesForInstall.ps1",
|
||||
"{{ template_dir }}/scripts/Tests/RunAll-Tests.ps1"
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user