mirror of
https://github.com/actions/runner-images.git
synced 2025-12-20 06:35:47 +00:00
[macOS] Add retry for toolcache assets (#1798)
* Add retry for toolset manifest downloading * Add common helper * Minor fix * Fix helper module path * Fix helper module path
This commit is contained in:
committed by
GitHub
parent
eb478e9f2b
commit
c5e468893d
@@ -24,7 +24,7 @@ function Get-EnvironmentVariable($variable) {
|
||||
}
|
||||
|
||||
# Returns the object with information about current OS
|
||||
# It can be used for OS-specific tests
|
||||
# It can be used for OS-specific tests
|
||||
function Get-OSVersion {
|
||||
$osVersion = [Environment]::OSVersion
|
||||
return [PSCustomObject]@{
|
||||
@@ -36,7 +36,7 @@ function Get-OSVersion {
|
||||
IsBigSur = $osVersion.Version.Major -eq 20
|
||||
IsLessThanCatalina = $osVersion.Version.Major -lt 19
|
||||
IsLessThanBigSur = $osVersion.Version.Major -lt 20
|
||||
IsHigherThanMojave = $osVersion.Version.Major -gt 18
|
||||
IsHigherThanMojave = $osVersion.Version.Major -gt 18
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ function Get-ToolsetValue {
|
||||
$jsonNode = Get-Content -Raw $toolsetPath | ConvertFrom-Json
|
||||
|
||||
$pathParts = $KeyPath.Split(".")
|
||||
# try to walk through all arguments consequentially to resolve specific json node
|
||||
# try to walk through all arguments consequentially to resolve specific json node
|
||||
$pathParts | ForEach-Object {
|
||||
$jsonNode = $jsonNode.$_
|
||||
}
|
||||
@@ -73,4 +73,13 @@ function Get-ToolsetValue {
|
||||
function Get-ToolcachePackages {
|
||||
$toolcachePath = Join-Path $env:HOME "image-generation" "toolcache.json"
|
||||
return Get-Content -Raw $toolcachePath | ConvertFrom-Json
|
||||
}
|
||||
}
|
||||
|
||||
function Invoke-RestMethodWithRetry {
|
||||
param (
|
||||
[Parameter()]
|
||||
[string]
|
||||
$Url
|
||||
)
|
||||
Invoke-RestMethod $Url -MaximumRetryCount 10 -RetryIntervalSec 30
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
## Desc: Install toolset
|
||||
################################################################################
|
||||
|
||||
Import-Module "~/image-generation/helpers/Common.Helpers.psm1"
|
||||
|
||||
Function Get-ToolcacheFromToolset {
|
||||
$toolsetPath = Join-Path $env:HOME "image-generation" "toolset.json"
|
||||
$toolsetJson = Get-Content -Raw $toolsetPath | ConvertFrom-Json
|
||||
@@ -38,7 +40,7 @@ $tools = Get-ToolcacheFromToolset | Where-Object {$ToolsToInstall -contains $_.
|
||||
|
||||
foreach ($tool in $tools) {
|
||||
# Get versions manifest for current tool
|
||||
$assets = Invoke-RestMethod $tool.url
|
||||
$assets = Invoke-RestMethodWithRetry -Url $tool.url
|
||||
|
||||
# Get github release asset for each version
|
||||
foreach ($version in $tool.versions) {
|
||||
|
||||
Reference in New Issue
Block a user