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
|
# 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 {
|
function Get-OSVersion {
|
||||||
$osVersion = [Environment]::OSVersion
|
$osVersion = [Environment]::OSVersion
|
||||||
return [PSCustomObject]@{
|
return [PSCustomObject]@{
|
||||||
@@ -36,7 +36,7 @@ function Get-OSVersion {
|
|||||||
IsBigSur = $osVersion.Version.Major -eq 20
|
IsBigSur = $osVersion.Version.Major -eq 20
|
||||||
IsLessThanCatalina = $osVersion.Version.Major -lt 19
|
IsLessThanCatalina = $osVersion.Version.Major -lt 19
|
||||||
IsLessThanBigSur = $osVersion.Version.Major -lt 20
|
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
|
$jsonNode = Get-Content -Raw $toolsetPath | ConvertFrom-Json
|
||||||
|
|
||||||
$pathParts = $KeyPath.Split(".")
|
$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 {
|
$pathParts | ForEach-Object {
|
||||||
$jsonNode = $jsonNode.$_
|
$jsonNode = $jsonNode.$_
|
||||||
}
|
}
|
||||||
@@ -73,4 +73,13 @@ function Get-ToolsetValue {
|
|||||||
function Get-ToolcachePackages {
|
function Get-ToolcachePackages {
|
||||||
$toolcachePath = Join-Path $env:HOME "image-generation" "toolcache.json"
|
$toolcachePath = Join-Path $env:HOME "image-generation" "toolcache.json"
|
||||||
return Get-Content -Raw $toolcachePath | ConvertFrom-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
|
## Desc: Install toolset
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
Import-Module "~/image-generation/helpers/Common.Helpers.psm1"
|
||||||
|
|
||||||
Function Get-ToolcacheFromToolset {
|
Function Get-ToolcacheFromToolset {
|
||||||
$toolsetPath = Join-Path $env:HOME "image-generation" "toolset.json"
|
$toolsetPath = Join-Path $env:HOME "image-generation" "toolset.json"
|
||||||
$toolsetJson = Get-Content -Raw $toolsetPath | ConvertFrom-Json
|
$toolsetJson = Get-Content -Raw $toolsetPath | ConvertFrom-Json
|
||||||
@@ -38,7 +40,7 @@ $tools = Get-ToolcacheFromToolset | Where-Object {$ToolsToInstall -contains $_.
|
|||||||
|
|
||||||
foreach ($tool in $tools) {
|
foreach ($tool in $tools) {
|
||||||
# Get versions manifest for current tool
|
# Get versions manifest for current tool
|
||||||
$assets = Invoke-RestMethod $tool.url
|
$assets = Invoke-RestMethodWithRetry -Url $tool.url
|
||||||
|
|
||||||
# Get github release asset for each version
|
# Get github release asset for each version
|
||||||
foreach ($version in $tool.versions) {
|
foreach ($version in $tool.versions) {
|
||||||
|
|||||||
Reference in New Issue
Block a user