mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
[Windows] Use function to get selenium asset url (#8448)
This commit is contained in:
committed by
GitHub
parent
23ff0d7468
commit
ddebd05257
@@ -617,6 +617,7 @@ function Get-GitHubPackageDownloadUrl {
|
||||
[string]$Version,
|
||||
[string]$UrlFilter,
|
||||
[boolean]$IsPrerelease = $false,
|
||||
[boolean]$LatestReleaseOnly = $true,
|
||||
[int]$SearchInCount = 100
|
||||
)
|
||||
|
||||
@@ -626,20 +627,35 @@ function Get-GitHubPackageDownloadUrl {
|
||||
|
||||
$json = Invoke-RestMethod -Uri "https://api.github.com/repos/${RepoOwner}/${RepoName}/releases?per_page=${SearchInCount}"
|
||||
$tags = $json.Where{ $_.prerelease -eq $IsPrerelease -and $_.assets }.tag_name
|
||||
$versionToDownload = $tags |
|
||||
Select-String -Pattern "\d+.\d+.\d+" |
|
||||
ForEach-Object { $_.Matches.Value } |
|
||||
Where-Object { $_ -like "$Version.*" -or $_ -eq $Version } |
|
||||
Sort-Object { [version]$_ } |
|
||||
Select-Object -Last 1
|
||||
$availableVersions = $tags |
|
||||
Select-String -Pattern "\d+.\d+.\d+" |
|
||||
ForEach-Object { $_.Matches.Value } |
|
||||
Where-Object { $_ -like "$Version.*" -or $_ -eq $Version } |
|
||||
Sort-Object -Descending { [version]$_ }
|
||||
|
||||
if (-not $versionToDownload) {
|
||||
Write-Host "Failed to get a tag name from ${RepoOwner}/${RepoName} releases"
|
||||
exit 1
|
||||
if (-not $availableVersions) {
|
||||
throw "Failed to get available versions from ${RepoOwner}/${RepoName} releases"
|
||||
}
|
||||
|
||||
$UrlFilter = $UrlFilter -replace "{BinaryName}",$BinaryName -replace "{Version}",$versionToDownload
|
||||
$downloadUrl = $json.assets.browser_download_url -like $UrlFilter
|
||||
if ($LatestReleaseOnly) {
|
||||
$latestVersion = $availableVersions | Select-Object -First 1
|
||||
$urlFilterReplaced = $UrlFilter -replace "{BinaryName}", $BinaryName -replace "{Version}", $latestVersion
|
||||
$downloadUrl = $json.assets.browser_download_url -like $urlFilterReplaced
|
||||
} else {
|
||||
foreach ($version in $availableVersions) {
|
||||
$urlFilterReplaced = $UrlFilter -replace "{BinaryName}", $BinaryName -replace "{Version}", $version
|
||||
$downloadUrl = $json.assets.browser_download_url -like $urlFilterReplaced
|
||||
|
||||
if ($downloadUrl) {
|
||||
Write-Host "Found download url for ${RepoOwner}/${RepoName} ${BinaryName} ${version}"
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (-not $downloadUrl) {
|
||||
throw "Failed to get download url for ${RepoOwner}/${RepoName} ${BinaryName}"
|
||||
}
|
||||
|
||||
return $downloadUrl
|
||||
}
|
||||
@@ -720,4 +736,4 @@ function Test-FileSignature {
|
||||
}
|
||||
|
||||
Write-Output "Signature for $FilePath is valid"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user