mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 13:17:54 +00:00
[Windows] Improve Get-GitHubPackageDownloadUrl function (#5724)
* Improve Get-GitHubPackageDownloadUrl function * Use Select-String
This commit is contained in:
committed by
GitHub
parent
9cf1ebd754
commit
04f68be19e
@@ -590,13 +590,21 @@ function Get-GitHubPackageDownloadUrl {
|
|||||||
if ($Version -eq "latest") {
|
if ($Version -eq "latest") {
|
||||||
$Version = "*"
|
$Version = "*"
|
||||||
}
|
}
|
||||||
|
|
||||||
$json = Invoke-RestMethod -Uri "https://api.github.com/repos/${RepoOwner}/${RepoName}/releases?per_page=${SearchInCount}"
|
$json = Invoke-RestMethod -Uri "https://api.github.com/repos/${RepoOwner}/${RepoName}/releases?per_page=${SearchInCount}"
|
||||||
$versionToDownload = ($json.Where{ $_.prerelease -eq $IsPrerelease }.tag_name |
|
$tags = $json.Where{ $_.prerelease -eq $IsPrerelease -and $_.assets }.tag_name
|
||||||
Select-String -Pattern "\d+.\d+.\d+").Matches.Value |
|
$versionToDownload = $tags |
|
||||||
Where-Object {$_ -Like "${Version}.*" -or $_ -eq ${Version}} |
|
Select-String -Pattern "\d+.\d+.\d+" |
|
||||||
Sort-Object {[version]$_} |
|
ForEach-Object { $_.Matches.Value } |
|
||||||
|
Where-Object { $_ -like "$Version.*" -or $_ -eq $Version } |
|
||||||
|
Sort-Object { [version]$_ } |
|
||||||
Select-Object -Last 1
|
Select-Object -Last 1
|
||||||
|
|
||||||
|
if (-not $versionToDownload) {
|
||||||
|
Write-Host "Failed to get a tag name from ${RepoOwner}/${RepoName} releases"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
$UrlFilter = $UrlFilter -replace "{BinaryName}",$BinaryName -replace "{Version}",$versionToDownload
|
$UrlFilter = $UrlFilter -replace "{BinaryName}",$BinaryName -replace "{Version}",$versionToDownload
|
||||||
$downloadUrl = $json.assets.browser_download_url -like $UrlFilter
|
$downloadUrl = $json.assets.browser_download_url -like $UrlFilter
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user