From 2b07f8e4e14828de025f07a5462618b7de8840b7 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 14:17:50 -0700 Subject: [PATCH 01/13] Use channel tags to make manifest list more automatic --- build.ps1 | 18 ++++++++++++++++++ release/7-3/nanoserver2022/meta.json | 2 +- release/7-3/ubi9/meta.json | 2 +- release/7-3/ubuntu22.04-arm32v7/meta.json | 2 +- release/7-3/ubuntu22.04/meta.json | 2 +- release/7-3/windowsserver2022/meta.json | 2 +- release/7-3/windowsservercore2022/meta.json | 2 +- release/7-4/ubi9/meta.json | 2 +- release/7-4/ubuntu22.04-arm32v7/meta.json | 2 +- release/7-4/ubuntu22.04/meta.json | 2 +- release/7-4/windowsserver2022/meta.json | 2 +- release/7-4/windowsservercore2022/meta.json | 2 +- release/unstable/7-4/nanoserver2022/meta.json | 2 +- 13 files changed, 30 insertions(+), 12 deletions(-) diff --git a/build.ps1 b/build.ps1 index 97b620e99..f3174d5be 100755 --- a/build.ps1 +++ b/build.ps1 @@ -672,6 +672,20 @@ End { $channelGroups = $tagGroups.$repo | Group-Object -Property Channel foreach ($channelGroup in $channelGroups) { $channelName = $channelGroup.Name + $channelTag = switch($channelNames) { + 'stable' { + $channelTag = 'latest' + $channelTagPrefix = '' + $channelTagPostfix = '' + } + + default { + $channelTag = $channelName.ToLower() + $channelTagPrefix = $channelTag + '-' + $channelTagPostfix = '-' + $channelTag + } + } + Write-Verbose "generating $channelName json" $osGroups = $channelGroup.Group | Group-Object -Property os foreach ($osGroup in $osGroups) { @@ -681,6 +695,9 @@ End { foreach ($tag in $osGroup.Group | Where-Object { $_.Name -notlike '*/*' } | Sort-Object -Property ManifestLists) { if ($tag.ManifestLists) { foreach ($manifestList in $tag.ManifestLists) { + $manifestList = $manifestList -replace '\${channelTag}', $channelTag + $manifestList = $manifestList -replace '\${channelTagPrefix}', $channelTagPrefix + $manifestList = $manifestList -replace '\${channelTagPostfix}', $channelTagPostfix if ($manifestLists -notcontains $manifestList) { $manifestLists += $manifestList @@ -699,6 +716,7 @@ End { $matrix = @{} foreach ($manifestList in $manifestLists) { $jobName = $manifestList -replace '-', '_' + $formattedManifestList = $manifestList -replace '\${channelTag}', $channelTag $manifestListTags = [PSCustomObject]@{ ManifestList = $manifestList Channel = "" diff --git a/release/7-3/nanoserver2022/meta.json b/release/7-3/nanoserver2022/meta.json index 91b80f257..f87ab883e 100644 --- a/release/7-3/nanoserver2022/meta.json +++ b/release/7-3/nanoserver2022/meta.json @@ -9,7 +9,7 @@ ], "ShortDistroName": "nanoserver", "manifestLists": [ - "nanoserver" + "${channelTagPrefix}nanoserver" ], "Base64EncodePackageUrl": true, "TestProperties": { diff --git a/release/7-3/ubi9/meta.json b/release/7-3/ubi9/meta.json index 3c067062b..81f270bf0 100644 --- a/release/7-3/ubi9/meta.json +++ b/release/7-3/ubi9/meta.json @@ -9,7 +9,7 @@ {"Tag": "9"} ], "manifestLists": [ - "ubi-preview" + "ubi${channelTagPostfix}" ], "SubImage": "test-deps", "TestProperties": { diff --git a/release/7-3/ubuntu22.04-arm32v7/meta.json b/release/7-3/ubuntu22.04-arm32v7/meta.json index 66eb4370a..e846f4518 100644 --- a/release/7-3/ubuntu22.04-arm32v7/meta.json +++ b/release/7-3/ubuntu22.04-arm32v7/meta.json @@ -16,7 +16,7 @@ "Arm32": true }, "manifestLists": [ - "preview" + "${channelTag}" ], "EndOfLife": "2023-04-02", "DistributionState": "Validated", diff --git a/release/7-3/ubuntu22.04/meta.json b/release/7-3/ubuntu22.04/meta.json index 6aed4183b..647fa3c84 100644 --- a/release/7-3/ubuntu22.04/meta.json +++ b/release/7-3/ubuntu22.04/meta.json @@ -10,7 +10,7 @@ {"Tag": "22.04"} ], "manifestLists": [ - "preview" + "${channelTag}" ], "TestProperties": { "size": 338 diff --git a/release/7-3/windowsserver2022/meta.json b/release/7-3/windowsserver2022/meta.json index 1be0aa667..de7049fef 100644 --- a/release/7-3/windowsserver2022/meta.json +++ b/release/7-3/windowsserver2022/meta.json @@ -10,7 +10,7 @@ "Base64EncodePackageUrl": true, "ShortDistroName": "windowsserver", "manifestLists": [ - "windowsserver" + "${channelTagPrefix}windowsserver" ], "TestProperties": { "size": 1 diff --git a/release/7-3/windowsservercore2022/meta.json b/release/7-3/windowsservercore2022/meta.json index 849bbfb0d..a1b9c11ce 100644 --- a/release/7-3/windowsservercore2022/meta.json +++ b/release/7-3/windowsservercore2022/meta.json @@ -8,7 +8,7 @@ } ], "manifestLists": [ - "preview" + "${channelTag}" ], "Base64EncodePackageUrl": true, "ShortDistroName": "windowsservercore", diff --git a/release/7-4/ubi9/meta.json b/release/7-4/ubi9/meta.json index 3c067062b..81f270bf0 100644 --- a/release/7-4/ubi9/meta.json +++ b/release/7-4/ubi9/meta.json @@ -9,7 +9,7 @@ {"Tag": "9"} ], "manifestLists": [ - "ubi-preview" + "ubi${channelTagPostfix}" ], "SubImage": "test-deps", "TestProperties": { diff --git a/release/7-4/ubuntu22.04-arm32v7/meta.json b/release/7-4/ubuntu22.04-arm32v7/meta.json index 66eb4370a..e846f4518 100644 --- a/release/7-4/ubuntu22.04-arm32v7/meta.json +++ b/release/7-4/ubuntu22.04-arm32v7/meta.json @@ -16,7 +16,7 @@ "Arm32": true }, "manifestLists": [ - "preview" + "${channelTag}" ], "EndOfLife": "2023-04-02", "DistributionState": "Validated", diff --git a/release/7-4/ubuntu22.04/meta.json b/release/7-4/ubuntu22.04/meta.json index 6aed4183b..647fa3c84 100644 --- a/release/7-4/ubuntu22.04/meta.json +++ b/release/7-4/ubuntu22.04/meta.json @@ -10,7 +10,7 @@ {"Tag": "22.04"} ], "manifestLists": [ - "preview" + "${channelTag}" ], "TestProperties": { "size": 338 diff --git a/release/7-4/windowsserver2022/meta.json b/release/7-4/windowsserver2022/meta.json index 1be0aa667..de7049fef 100644 --- a/release/7-4/windowsserver2022/meta.json +++ b/release/7-4/windowsserver2022/meta.json @@ -10,7 +10,7 @@ "Base64EncodePackageUrl": true, "ShortDistroName": "windowsserver", "manifestLists": [ - "windowsserver" + "${channelTagPrefix}windowsserver" ], "TestProperties": { "size": 1 diff --git a/release/7-4/windowsservercore2022/meta.json b/release/7-4/windowsservercore2022/meta.json index 849bbfb0d..a1b9c11ce 100644 --- a/release/7-4/windowsservercore2022/meta.json +++ b/release/7-4/windowsservercore2022/meta.json @@ -8,7 +8,7 @@ } ], "manifestLists": [ - "preview" + "${channelTag}" ], "Base64EncodePackageUrl": true, "ShortDistroName": "windowsservercore", diff --git a/release/unstable/7-4/nanoserver2022/meta.json b/release/unstable/7-4/nanoserver2022/meta.json index 91b80f257..f87ab883e 100644 --- a/release/unstable/7-4/nanoserver2022/meta.json +++ b/release/unstable/7-4/nanoserver2022/meta.json @@ -9,7 +9,7 @@ ], "ShortDistroName": "nanoserver", "manifestLists": [ - "nanoserver" + "${channelTagPrefix}nanoserver" ], "Base64EncodePackageUrl": true, "TestProperties": { From 74dcd42ea8bf48c43bd48296d7e139042b4b48dd Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 15:14:25 -0700 Subject: [PATCH 02/13] Add unit test to verify we mix manifest list channels --- build.ps1 | 46 ++++++++++++++------- release/7-2/nanoserver1809/meta.json | 2 +- release/7-2/nanoserver2022/meta.json | 2 +- release/7-2/ubi8/meta.json | 2 +- release/7-2/ubuntu22.04-arm32v7/meta.json | 2 +- release/7-2/ubuntu22.04/meta.json | 2 +- release/7-2/windowsserver2022/meta.json | 2 +- release/7-2/windowsservercore2022/meta.json | 2 +- tools/buildHelper/buildHelper.psm1 | 2 +- unittests/generateManifestLists.tests.ps1 | 18 ++++++++ 10 files changed, 56 insertions(+), 24 deletions(-) diff --git a/build.ps1 b/build.ps1 index f3174d5be..b98e2a5fd 100755 --- a/build.ps1 +++ b/build.ps1 @@ -668,23 +668,24 @@ End { if ($GenerateManifestLists.IsPresent) { $manifestLists = @() $tags = @() + foreach ($repo in $tagGroups.Keys | Sort-Object) { $channelGroups = $tagGroups.$repo | Group-Object -Property Channel foreach ($channelGroup in $channelGroups) { $channelName = $channelGroup.Name - $channelTag = switch($channelNames) { - 'stable' { - $channelTag = 'latest' - $channelTagPrefix = '' - $channelTagPostfix = '' - } + switch($channelName) { + 'stable' { + $channelTag = 'latest' + $channelTagPrefix = '' + $channelTagPostfix = '' + } - default { - $channelTag = $channelName.ToLower() - $channelTagPrefix = $channelTag + '-' - $channelTagPostfix = '-' + $channelTag - } + default { + $channelTag = $channelName.ToLower() + $channelTagPrefix = $channelTag + '-' + $channelTagPostfix = '-' + $channelTag } + } Write-Verbose "generating $channelName json" $osGroups = $channelGroup.Group | Group-Object -Property os @@ -695,17 +696,31 @@ End { foreach ($tag in $osGroup.Group | Where-Object { $_.Name -notlike '*/*' } | Sort-Object -Property ManifestLists) { if ($tag.ManifestLists) { foreach ($manifestList in $tag.ManifestLists) { + $originalManifestList = $manifestList + if ($manifestList -notlike '*${channel*') { + Write-Warning "Issue found with $osName $manifestList $($tag.Tags)" + throw 'ManifestLists entries must contain on of: ${channelTag} ${channelTagPrefix} ${channelTagPostfix}' + } + $manifestList = $manifestList -replace '\${channelTag}', $channelTag $manifestList = $manifestList -replace '\${channelTagPrefix}', $channelTagPrefix $manifestList = $manifestList -replace '\${channelTagPostfix}', $channelTagPostfix + if (!$manifestList) { + throw "error formatting $originalManifestList" + } + if ($manifestLists -notcontains $manifestList) { $manifestLists += $manifestList } - $tag | Add-Member -MemberType NoteProperty -Value $repo -Name 'Repo' - - $tags += $tag + $tags += [PSCustomObject]@{ + Repo = $repo + FormattedManifestList = $manifestList + Tags = $tag.Tags + Channel = $tag.Channel + ContinueOnError = $tag.ContinueOnError + } } } } @@ -716,7 +731,6 @@ End { $matrix = @{} foreach ($manifestList in $manifestLists) { $jobName = $manifestList -replace '-', '_' - $formattedManifestList = $manifestList -replace '\${channelTag}', $channelTag $manifestListTags = [PSCustomObject]@{ ManifestList = $manifestList Channel = "" @@ -725,7 +739,7 @@ End { Repo = "" } - foreach ($tag in $tags | Where-Object { $_.ManifestLists -contains $manifestList }) { + foreach ($tag in $tags | Where-Object { $_.FormattedManifestList -eq $manifestList }) { if (-not $matrix.ContainsKey($manifestList)) { $matrix.Add($manifestList, @{ }) } diff --git a/release/7-2/nanoserver1809/meta.json b/release/7-2/nanoserver1809/meta.json index b4fa7370d..c1afec468 100644 --- a/release/7-2/nanoserver1809/meta.json +++ b/release/7-2/nanoserver1809/meta.json @@ -12,7 +12,7 @@ "nanoserver-#shorttag#" ], "manifestLists": [ - "nanoserver" + "${channelTagPrefix}nanoserver" ], "Base64EncodePackageUrl": true, "TestProperties": { diff --git a/release/7-2/nanoserver2022/meta.json b/release/7-2/nanoserver2022/meta.json index 3709f4f92..5116529ef 100644 --- a/release/7-2/nanoserver2022/meta.json +++ b/release/7-2/nanoserver2022/meta.json @@ -12,7 +12,7 @@ "nanoserver-#shorttag#" ], "manifestLists": [ - "nanoserver" + "${channelTagPrefix}nanoserver" ], "Base64EncodePackageUrl": true, "TestProperties": { diff --git a/release/7-2/ubi8/meta.json b/release/7-2/ubi8/meta.json index aa635e425..3d93fd0d1 100644 --- a/release/7-2/ubi8/meta.json +++ b/release/7-2/ubi8/meta.json @@ -12,7 +12,7 @@ {"Tag": "8"} ], "manifestLists": [ - "ubi" + "ubi${channelTagPostfix}" ], "SubImage": "test-deps", "TestProperties": { diff --git a/release/7-2/ubuntu22.04-arm32v7/meta.json b/release/7-2/ubuntu22.04-arm32v7/meta.json index 0c6ffb5aa..773901f31 100644 --- a/release/7-2/ubuntu22.04-arm32v7/meta.json +++ b/release/7-2/ubuntu22.04-arm32v7/meta.json @@ -20,7 +20,7 @@ "Arm32": true }, "manifestLists": [ - "latest" + "${channelTag}" ], "EndOfLife": "2023-04-02", "DistributionState": "Validated", diff --git a/release/7-2/ubuntu22.04/meta.json b/release/7-2/ubuntu22.04/meta.json index 6b3dbc7e5..24f17ee5c 100644 --- a/release/7-2/ubuntu22.04/meta.json +++ b/release/7-2/ubuntu22.04/meta.json @@ -13,7 +13,7 @@ {"Tag": "22.04"} ], "manifestLists": [ - "latest" + "${channelTag}" ], "TestProperties": { "size": 343 diff --git a/release/7-2/windowsserver2022/meta.json b/release/7-2/windowsserver2022/meta.json index 78225539d..e3be58233 100644 --- a/release/7-2/windowsserver2022/meta.json +++ b/release/7-2/windowsserver2022/meta.json @@ -13,7 +13,7 @@ "windowsserver-#shorttag#" ], "manifestLists": [ - "windowsserver" + "${channelTagPrefix}windowsserver" ], "TestProperties": { "size": 1 diff --git a/release/7-2/windowsservercore2022/meta.json b/release/7-2/windowsservercore2022/meta.json index 1a97e0576..e6e79d052 100644 --- a/release/7-2/windowsservercore2022/meta.json +++ b/release/7-2/windowsservercore2022/meta.json @@ -13,7 +13,7 @@ "windowsservercore-#shorttag#" ], "manifestLists": [ - "latest" + "${channelTag}" ], "TestProperties": { "size": 1 diff --git a/tools/buildHelper/buildHelper.psm1 b/tools/buildHelper/buildHelper.psm1 index d24c8d49e..dc4aa9e5e 100644 --- a/tools/buildHelper/buildHelper.psm1 +++ b/tools/buildHelper/buildHelper.psm1 @@ -266,7 +266,7 @@ class DockerImageMetaData { [bool] $ContinueOnError = $false - [string] + [string[]] $ManifestLists = @() [bool] diff --git a/unittests/generateManifestLists.tests.ps1 b/unittests/generateManifestLists.tests.ps1 index 84a12edca..c0c23b2d1 100644 --- a/unittests/generateManifestLists.tests.ps1 +++ b/unittests/generateManifestLists.tests.ps1 @@ -13,4 +13,22 @@ Describe "build.ps1 -GenerateManifestLists" { $json | Should -Not -BeNullOrEmpty $json | ConvertFrom-Json -AsHashtable | Should -Not -BeNullOrEmpty } + + It "Each tag sholud only be in one channel" { + $json = & $buildScript -GenerateManifestLists -Channel stable, preview, lts -OsFilter All | ConvertFrom-Json + $tags = @{} + $json | ForEach-Object { + $channel = $_.channel + foreach($tag in $_.tags) { + if(!$tags.ContainsKey($tag)){ + $tags[$tag] = @() + } + $tags[$tag] += $channel + } + } + + foreach($tag in $tags.Keys) { + $tags.$tag.count | should -Be 1 -Because "$Tag should not be in multilpe channels ($($tags.$tag))" + } + } } From 21aca129ede33e7d939a7126adfa22db51db0d6f Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Wed, 15 Mar 2023 15:17:32 -0700 Subject: [PATCH 03/13] Update unittests/generateManifestLists.tests.ps1 --- unittests/generateManifestLists.tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittests/generateManifestLists.tests.ps1 b/unittests/generateManifestLists.tests.ps1 index c0c23b2d1..6313324fd 100644 --- a/unittests/generateManifestLists.tests.ps1 +++ b/unittests/generateManifestLists.tests.ps1 @@ -14,7 +14,7 @@ Describe "build.ps1 -GenerateManifestLists" { $json | ConvertFrom-Json -AsHashtable | Should -Not -BeNullOrEmpty } - It "Each tag sholud only be in one channel" { + It "Each tag should only be in one channel" { $json = & $buildScript -GenerateManifestLists -Channel stable, preview, lts -OsFilter All | ConvertFrom-Json $tags = @{} $json | ForEach-Object { From 7d6063c759e040a23a2425d17a23cf1d1fa9e7bd Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Wed, 15 Mar 2023 15:25:11 -0700 Subject: [PATCH 04/13] Update unittests/generateManifestLists.tests.ps1 Co-authored-by: Aditya Patwardhan --- unittests/generateManifestLists.tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittests/generateManifestLists.tests.ps1 b/unittests/generateManifestLists.tests.ps1 index 6313324fd..c4baed212 100644 --- a/unittests/generateManifestLists.tests.ps1 +++ b/unittests/generateManifestLists.tests.ps1 @@ -28,7 +28,7 @@ Describe "build.ps1 -GenerateManifestLists" { } foreach($tag in $tags.Keys) { - $tags.$tag.count | should -Be 1 -Because "$Tag should not be in multilpe channels ($($tags.$tag))" + $tags.$tag.count | should -Be 1 -Because "$Tag should not be in multiple channels ($($tags.$tag))" } } } From e7e7e909d84947d5d8f3058297085821cdbf02f0 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 15:27:44 -0700 Subject: [PATCH 05/13] add new format of manifest list --- release/7-2/ubi8/meta.json | 3 ++- release/7-3/ubi9/meta.json | 3 ++- release/7-4/ubi9/meta.json | 3 ++- unittests/generateManifestLists.tests.ps1 | 8 +++++--- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/release/7-2/ubi8/meta.json b/release/7-2/ubi8/meta.json index 3d93fd0d1..d8571be22 100644 --- a/release/7-2/ubi8/meta.json +++ b/release/7-2/ubi8/meta.json @@ -12,7 +12,8 @@ {"Tag": "8"} ], "manifestLists": [ - "ubi${channelTagPostfix}" + "ubi${channelTagPostfix}", + "${channelTagPrefix}ubi" ], "SubImage": "test-deps", "TestProperties": { diff --git a/release/7-3/ubi9/meta.json b/release/7-3/ubi9/meta.json index 81f270bf0..cf260a311 100644 --- a/release/7-3/ubi9/meta.json +++ b/release/7-3/ubi9/meta.json @@ -9,7 +9,8 @@ {"Tag": "9"} ], "manifestLists": [ - "ubi${channelTagPostfix}" + "ubi${channelTagPostfix}", + "${channelTagPrefix}ubi" ], "SubImage": "test-deps", "TestProperties": { diff --git a/release/7-4/ubi9/meta.json b/release/7-4/ubi9/meta.json index 81f270bf0..cf260a311 100644 --- a/release/7-4/ubi9/meta.json +++ b/release/7-4/ubi9/meta.json @@ -9,7 +9,8 @@ {"Tag": "9"} ], "manifestLists": [ - "ubi${channelTagPostfix}" + "ubi${channelTagPostfix}", + "${channelTagPrefix}ubi" ], "SubImage": "test-deps", "TestProperties": { diff --git a/unittests/generateManifestLists.tests.ps1 b/unittests/generateManifestLists.tests.ps1 index c4baed212..92bdc3a8c 100644 --- a/unittests/generateManifestLists.tests.ps1 +++ b/unittests/generateManifestLists.tests.ps1 @@ -19,11 +19,13 @@ Describe "build.ps1 -GenerateManifestLists" { $tags = @{} $json | ForEach-Object { $channel = $_.channel - foreach($tag in $_.tags) { - if(!$tags.ContainsKey($tag)){ + foreach ($tag in $_.tags) { + if (!$tags.ContainsKey($tag)) { $tags[$tag] = @() } - $tags[$tag] += $channel + if ($tags[$tag] -notcontains $channel) { + $tags[$tag] += $channel + } } } From f25232a2d387383cc678566ad5f2fafbc800d30d Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 17:12:21 -0700 Subject: [PATCH 06/13] update how we create the manifest create cmdline --- .vsts-ci/manifestSteps.yml | 4 ++++ createManifest.ps1 | 13 +++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.vsts-ci/manifestSteps.yml b/.vsts-ci/manifestSteps.yml index 4d1cc63f3..0b971a5bc 100644 --- a/.vsts-ci/manifestSteps.yml +++ b/.vsts-ci/manifestSteps.yml @@ -7,6 +7,10 @@ steps: - powershell: 'Get-ChildItem env:' displayName: 'Capture Environment' +- pwsh: | + $PSVersionTable + displayName: Capture pwsh Version + - powershell: | $dockerConfigFolder = "$env:userprofile/.docker" if(!(Test-Path $dockerConfigFolder)){ $null = new-item -Type Directory -Path $dockerConfigFolder} diff --git a/createManifest.ps1 b/createManifest.ps1 index 21c2bea2b..dd88e6215 100644 --- a/createManifest.ps1 +++ b/createManifest.ps1 @@ -27,26 +27,31 @@ param( [switch] $SkipPush - ) $first = $true $manifestList = @() foreach($tag in $TagList) { + $arguments = @() $amend = "" if (!$first) { - $amend = '--amend' + $arguments += '--amend' } + $arguments += @( + "$ContainerRegistry/${Image}:$ManifestTag" + "$ContainerRegistry/${Image}:$tag" + ) - Write-Verbose -Message "running: docker manifest create $ammend $ContainerRegistry/${Image}:$ManifestTag $ContainerRegistry/${Image}:$tag" -Verbose - docker manifest create $amend $ContainerRegistry/${Image}:$ManifestTag "$ContainerRegistry/${Image}:$tag" + Write-Verbose -Message "running: docker manifest create $arguments" -Verbose + docker manifest create $arguments $first = $false } # Create the manifest # Inspect (print) the manifest +Write-Verbose -Verbose "capturing the manifest..." docker manifest inspect $ContainerRegistry/${Image}:$ManifestTag # push the manifest From fa2202ccb2c18402eb606cbc504099f996ac7ab0 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 18:32:18 -0700 Subject: [PATCH 07/13] fix release tests --- .vsts-ci/templatesReleasePipeline/testStage.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.vsts-ci/templatesReleasePipeline/testStage.yml b/.vsts-ci/templatesReleasePipeline/testStage.yml index b6a97d5ba..0b96d1457 100644 --- a/.vsts-ci/templatesReleasePipeline/testStage.yml +++ b/.vsts-ci/templatesReleasePipeline/testStage.yml @@ -53,7 +53,7 @@ stages: - template: ./testJob.yml parameters: - jobName: ${{ parameters.channel }}_linux + jobName: ${{ parameters.channel }}_linux_arm64 matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64'] vmImage: ubuntu-latest dependsOn: @@ -61,9 +61,9 @@ stages: - template: ./testJob.yml parameters: - jobName: ${{ parameters.channel }}_linux + jobName: ${{ parameters.channel }}_linux_arm32 matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm32'] vmImage: ubuntu-latest dependsOn: - GenerateYaml_${{ parameters.channel }} - + From 5ecbb1c117954bd4dd2192d5f947682eb5a6e6b4 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 18:40:48 -0700 Subject: [PATCH 08/13] mark amazon linux as unstable --- .../{community-stable => unstable}/amazonlinux/docker/Dockerfile | 0 release/{community-stable => unstable}/amazonlinux/meta.json | 0 .../amazonlinux/test-deps/docker/Dockerfile | 0 .../amazonlinux/test-deps/meta.json | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename release/{community-stable => unstable}/amazonlinux/docker/Dockerfile (100%) rename release/{community-stable => unstable}/amazonlinux/meta.json (100%) rename release/{community-stable => unstable}/amazonlinux/test-deps/docker/Dockerfile (100%) rename release/{community-stable => unstable}/amazonlinux/test-deps/meta.json (100%) diff --git a/release/community-stable/amazonlinux/docker/Dockerfile b/release/unstable/amazonlinux/docker/Dockerfile similarity index 100% rename from release/community-stable/amazonlinux/docker/Dockerfile rename to release/unstable/amazonlinux/docker/Dockerfile diff --git a/release/community-stable/amazonlinux/meta.json b/release/unstable/amazonlinux/meta.json similarity index 100% rename from release/community-stable/amazonlinux/meta.json rename to release/unstable/amazonlinux/meta.json diff --git a/release/community-stable/amazonlinux/test-deps/docker/Dockerfile b/release/unstable/amazonlinux/test-deps/docker/Dockerfile similarity index 100% rename from release/community-stable/amazonlinux/test-deps/docker/Dockerfile rename to release/unstable/amazonlinux/test-deps/docker/Dockerfile diff --git a/release/community-stable/amazonlinux/test-deps/meta.json b/release/unstable/amazonlinux/test-deps/meta.json similarity index 100% rename from release/community-stable/amazonlinux/test-deps/meta.json rename to release/unstable/amazonlinux/test-deps/meta.json From 27093c361033c3921225eb77dfed7edb16a82714 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 18:49:20 -0700 Subject: [PATCH 09/13] mark mariner as arm for test purposes --- release/7-3/mariner2/meta.json | 3 ++- release/7-4/mariner2-arm64/meta.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/release/7-3/mariner2/meta.json b/release/7-3/mariner2/meta.json index cb5f9c0f4..4ed288d93 100644 --- a/release/7-3/mariner2/meta.json +++ b/release/7-3/mariner2/meta.json @@ -9,7 +9,8 @@ "ShortDistroName": "mariner", "SubImage": "test-deps", "TestProperties": { - "size": 303 + "size": 303, + "Arm32": true }, "EndOfLife": "2022-10-14", "DistributionState": "Validated" diff --git a/release/7-4/mariner2-arm64/meta.json b/release/7-4/mariner2-arm64/meta.json index c2faa5f89..c586b4a90 100644 --- a/release/7-4/mariner2-arm64/meta.json +++ b/release/7-4/mariner2-arm64/meta.json @@ -12,7 +12,7 @@ ], "TestProperties": { "size": 404, - "arm64": true + "Arm32": true }, "EndOfLife": "2023-12-14", "DistributionState": "Validating", From a4b07229f0ddd5693b8b2d2709af45799770f9e1 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 18:55:32 -0700 Subject: [PATCH 10/13] remove community channel --- tools/buildHelper/channels.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tools/buildHelper/channels.json b/tools/buildHelper/channels.json index f42d923a4..c23778e5b 100644 --- a/tools/buildHelper/channels.json +++ b/tools/buildHelper/channels.json @@ -18,11 +18,5 @@ "tagPrefix": "lts", "pwshInstallVersion": "7-lts", "packageTag": "-lts" - }, - { - "name": "community-stable", - "path": "release/community-stable", - "pwshInstallVersion": "7", - "packageTag": "" } ] From a5130249512998023ea17ca42a5d77df44aa1130 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 19:19:47 -0700 Subject: [PATCH 11/13] mark the right image --- release/7-3/mariner2-arm64/meta.json | 2 +- release/7-3/mariner2/meta.json | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/release/7-3/mariner2-arm64/meta.json b/release/7-3/mariner2-arm64/meta.json index 418d3850b..70a0f00f6 100644 --- a/release/7-3/mariner2-arm64/meta.json +++ b/release/7-3/mariner2-arm64/meta.json @@ -12,7 +12,7 @@ ], "TestProperties": { "size": 404, - "arm64": true + "Arm32": true }, "EndOfLife": "2023-12-14", "DistributionState": "Validating", diff --git a/release/7-3/mariner2/meta.json b/release/7-3/mariner2/meta.json index 4ed288d93..cb5f9c0f4 100644 --- a/release/7-3/mariner2/meta.json +++ b/release/7-3/mariner2/meta.json @@ -9,8 +9,7 @@ "ShortDistroName": "mariner", "SubImage": "test-deps", "TestProperties": { - "size": 303, - "Arm32": true + "size": 303 }, "EndOfLife": "2022-10-14", "DistributionState": "Validated" From 3227aa8fa42433689a91116f59a9fb7d8fea3ca3 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 19:21:52 -0700 Subject: [PATCH 12/13] remove community CI --- vsts-ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/vsts-ci.yml b/vsts-ci.yml index c0cabc51a..eaa796fb5 100644 --- a/vsts-ci.yml +++ b/vsts-ci.yml @@ -31,10 +31,6 @@ stages: - template: .vsts-ci/stage.yml parameters: channel: lts - - template: .vsts-ci/stage.yml - parameters: - channel: community-stable - jobName: community_stable - stage: CheckForDuplicateTags displayName: Check for duplicate tags From ac48256d170e372f1585ef40649d93c7b009b1c5 Mon Sep 17 00:00:00 2001 From: travis plunk Date: Wed, 15 Mar 2023 19:26:36 -0700 Subject: [PATCH 13/13] skip tasks when matrix is empty --- .vsts-ci/templatesReleasePipeline/releaseJob.yml | 1 + .vsts-ci/templatesReleasePipeline/testJob.yml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.vsts-ci/templatesReleasePipeline/releaseJob.yml b/.vsts-ci/templatesReleasePipeline/releaseJob.yml index c169e70a8..385e9f42d 100644 --- a/.vsts-ci/templatesReleasePipeline/releaseJob.yml +++ b/.vsts-ci/templatesReleasePipeline/releaseJob.yml @@ -102,6 +102,7 @@ jobs: } } displayName: 'release - $(channel) - $(imagename)' + condition: and( succeeded(), ne(variables['Channel'],'')) - pwsh: 'az logout' displayName: 'az logout' diff --git a/.vsts-ci/templatesReleasePipeline/testJob.yml b/.vsts-ci/templatesReleasePipeline/testJob.yml index 38f1417db..bbeb35d9e 100644 --- a/.vsts-ci/templatesReleasePipeline/testJob.yml +++ b/.vsts-ci/templatesReleasePipeline/testJob.yml @@ -84,6 +84,8 @@ jobs: } .\build.ps1 -test -Channel $(Channel) -Pull -ImageName $(dockerHost) -name '$(ImageName)' -Version $(Version) -TestLogPostfix windows-$(Channel) -Repository $(dockerNamespace)/powershell @extraParams displayName: 'Run Tests for $(Channel) - $(ImageName)' + condition: and( succeeded(), ne(variables['Channel'],'')) + - task: PublishTestResults@2 displayName: 'Publish Test Results **/test*.xml'