mirror of
https://github.com/actions/runner-images.git
synced 2025-12-15 14:17:22 +00:00
[Windows] Use Get-LatestChocoPackageVersion to get nodejs version to install (#4469)
* Use Get-LatestChocoPackageVersion to get nodejs * Fix typo in Send-RequestToChocolateyPackages
This commit is contained in:
@@ -31,7 +31,7 @@ function Choco-Install {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Send-RequestToCocolateyPackages {
|
function Send-RequestToChocolateyPackages {
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory)]
|
[Parameter(Mandatory)]
|
||||||
[string] $FilterQuery,
|
[string] $FilterQuery,
|
||||||
@@ -56,9 +56,9 @@ function Get-LatestChocoPackageVersion {
|
|||||||
[int]$versionNumbers[-1] += 1
|
[int]$versionNumbers[-1] += 1
|
||||||
$incrementedVersion = $versionNumbers -join "."
|
$incrementedVersion = $versionNumbers -join "."
|
||||||
$filterQuery = "`$filter=(Id eq '$PackageName') and (IsPrerelease eq false) and (Version ge '$TargetVersion') and (Version lt '$incrementedVersion')"
|
$filterQuery = "`$filter=(Id eq '$PackageName') and (IsPrerelease eq false) and (Version ge '$TargetVersion') and (Version lt '$incrementedVersion')"
|
||||||
$latestVersion = (Send-RequestToCocolateyPackages -FilterQuery $filterQuery).properties.Version |
|
$latestVersion = (Send-RequestToChocolateyPackages -FilterQuery $filterQuery).properties.Version |
|
||||||
Sort-Object {[version]$_} |
|
Sort-Object {[version]$_} |
|
||||||
Select-Object -Last 1
|
Select-Object -Last 1
|
||||||
|
|
||||||
return $latestVersion
|
return $latestVersion
|
||||||
}
|
}
|
||||||
@@ -11,16 +11,7 @@ New-Item -Path $PrefixPath -Force -ItemType Directory
|
|||||||
New-Item -Path $CachePath -Force -ItemType Directory
|
New-Item -Path $CachePath -Force -ItemType Directory
|
||||||
|
|
||||||
$defaultVersion = (Get-ToolsetContent).node.default
|
$defaultVersion = (Get-ToolsetContent).node.default
|
||||||
$queryFilter = "`$filter=(Id eq 'nodejs') and (IsPrerelease eq false) and (Version ge '$defaultVersion')"
|
$versionToInstall = Get-LatestChocoPackageVersion -TargetVersion $defaultVersion -PackageName "nodejs"
|
||||||
$url = "https://community.chocolatey.org/api/v2/Packages()?$queryFilter"
|
|
||||||
$chocoVersionsOutput = (Invoke-RestMethod -Uri $url).properties.Version
|
|
||||||
# Take the latest version available for given default version from the toolset which is used as wildcard
|
|
||||||
# Toolset file can contain a version in any form: Major, Major.Minor or even the exact version
|
|
||||||
$versionToInstall = $chocoVersionsOutput |
|
|
||||||
# Take the exact default version and its subversions
|
|
||||||
Where-Object { $_ -Like "$defaultVersion.*" -or $_ -eq $defaultVersion } |
|
|
||||||
Sort-Object { [Version]$_ } |
|
|
||||||
Select-Object -Last 1
|
|
||||||
|
|
||||||
Choco-Install -PackageName nodejs -ArgumentList "--version=$versionToInstall"
|
Choco-Install -PackageName nodejs -ArgumentList "--version=$versionToInstall"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user