mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 05:07:02 +00:00
Add Windows Server 2022 image templates (#3929)
* add windows2022 image template Co-authored-by: Aleksandr Chebotov <v-aleche@microsoft.com> Co-authored-by: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com> Co-authored-by: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Co-authored-by: MaksimZhukov <46996400+MaksimZhukov@users.noreply.github.com>
This commit is contained in:
@@ -12,6 +12,32 @@ Set-SystemVariable -SystemVariable DOTNET_MULTILEVEL_LOOKUP -Value "0"
|
||||
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12"
|
||||
|
||||
function Get-SDKVersionsToInstall (
|
||||
$DotnetVersion
|
||||
) {
|
||||
$releaseJson = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/${DotnetVersion}/releases.json"
|
||||
$releasesJsonPath = Start-DownloadWithRetry -Url $releaseJson -Name "releases-${DotnetVersion}.json"
|
||||
$currentReleases = Get-Content -Path $releasesJsonPath | ConvertFrom-Json
|
||||
# filtering out the preview/rc releases
|
||||
$currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') }
|
||||
|
||||
$sdks = @()
|
||||
ForEach ($release in $currentReleases)
|
||||
{
|
||||
$sdks += $release.'sdk'
|
||||
$sdks += $release.'sdks'
|
||||
}
|
||||
|
||||
$sortedSdkVersions = $sdks.version | Sort-Object { [Version] $_ } -Unique
|
||||
|
||||
if (Test-IsWin22)
|
||||
{
|
||||
return $sortedSdkVersions | Group-Object { $_.Substring(0, $_.LastIndexOf('.') + 2) } | Foreach-Object { $_.Group[-1] }
|
||||
}
|
||||
|
||||
return $sortedSdkVersions
|
||||
}
|
||||
|
||||
function Invoke-Warmup (
|
||||
$SdkVersion
|
||||
) {
|
||||
@@ -78,35 +104,11 @@ function InstallAllValidSdks()
|
||||
|
||||
ForEach ($dotnetVersion in $dotnetVersions)
|
||||
{
|
||||
$releaseJson = "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/${dotnetVersion}/releases.json"
|
||||
$releasesJsonPath = Start-DownloadWithRetry -Url $releaseJson -Name "releases-${dotnetVersion}.json"
|
||||
$currentReleases = Get-Content -Path $releasesJsonPath | ConvertFrom-Json
|
||||
# filtering out the preview/rc releases
|
||||
$currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') } | Sort-Object { [Version] $_.'release-version' }
|
||||
|
||||
ForEach ($release in $currentReleases)
|
||||
$sdkVersionsToInstall = Get-SDKVersionsToInstall -DotnetVersion $dotnetVersion
|
||||
|
||||
ForEach ($sdkVersion in $sdkVersionsToInstall)
|
||||
{
|
||||
if ($release.'sdks'.Count -gt 0)
|
||||
{
|
||||
Write-Host 'Found sdks property in release: ' + $release.'release-version' + 'with sdks count: ' + $release.'sdks'.Count
|
||||
|
||||
# Remove duplicate entries & preview/rc version from download list
|
||||
# Sort the sdks on version
|
||||
$sdks = @($release.'sdk');
|
||||
|
||||
$sdks += $release.'sdks' | Where-Object { !$_.'version'.Contains('-') -and !$_.'version'.Equals($release.'sdk'.'version') }
|
||||
$sdks = $sdks | Sort-Object { [Version] $_.'version' }
|
||||
|
||||
ForEach ($sdk in $sdks)
|
||||
{
|
||||
InstallSDKVersion -sdkVersion $sdk.'version' -Warmup $warmup
|
||||
}
|
||||
}
|
||||
elseif (!$release.'sdk'.'version'.Contains('-'))
|
||||
{
|
||||
$sdkVersion = $release.'sdk'.'version'
|
||||
InstallSDKVersion -SdkVersion $sdkVersion -Warmup $warmup
|
||||
}
|
||||
InstallSDKVersion -SdkVersion $sdkVersion -Warmup $warmup
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user