From 3f067ccb3d57fd8adc4d6b52e34f4859e31fd3f0 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Mon, 12 Aug 2024 14:29:15 -0400 Subject: [PATCH 1/7] initial commit for this branch --- build.ps1 | 26 ++++++++++ tools/buildHelper/buildHelper.psm1 | 80 ++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) diff --git a/build.ps1 b/build.ps1 index 514d8d65c..b9ae61b13 100755 --- a/build.ps1 +++ b/build.ps1 @@ -708,6 +708,7 @@ End { } $channelsUsed = @{} + $releaseChannelsUsed = @{} if ($UpdateBuildYaml.IsPresent) { foreach ($repo in $tagGroups.Keys | Sort-Object) { $channelGroups = $tagGroups.$repo | Group-Object -Property Channel @@ -715,8 +716,13 @@ End { { $channelName = $channelGroup.Name $ciFolder = Join-Path -Path $PSScriptRoot -ChildPath '.vsts-ci' + $releaseTemplatesFolder = Join-Path -Path $ciFolder -ChildPath "templatesReleasePipeline" + # Build yaml file path $channelReleaseStagePath = Join-Path -Path $ciFolder -ChildPath "$($channelName)ReleaseStage.yml" + # Release yaml file path + $channelReleaseOperationYamlPath = Join-Path -Path $releaseTemplatesFolder -ChildPath "$($channelName)ReleaseGetBuiltImages.yml" + if (!$channelsUsed.Contains($channelName)) { # Note: channelGroup contains entry for a channels' regular and channel's test-deps images. @@ -733,7 +739,21 @@ End { $channelsUsed.Add($channelName, $channelGroup.Values) } + if (!$releaseChannelsUsed.Contains($channelName)) + { + # For release operation yaml: + $channelReleaseOperationYamlFileExists = Test-Path $channelReleaseOperationYamlPath + if ($channelReleaseOperationYamlFileExists) + { + Remove-Item -Path $channelReleaseOperationYamlPath + } + + New-Item -Type File -Path $channelReleaseOperationYamlPath + $releaseChannelsUsed.Add($channelName, $channelGroup.Values) + } + $osGroups = $channelGroup.Group | Group-Object -Property os + $imgInfoObjects = @() foreach ($osGroup in $osGroups) { $architectureGroups = $osGroup.Group | Group-Object -Property Architecture foreach ($architectureGroup in $architectureGroups) { @@ -741,9 +761,15 @@ End { foreach ($tag in $architectureGroup.Group | Sort-Object -Property dockerfile) { Write-Verbose -Verbose "calling method to populate template call in yaml file for channel: $channelName for image: $($tag.Name)" Get-TemplatePopulatedYaml -YamlFilePath $channelReleaseStagePath -ImageInfo $tag + + # for release yaml, need to collect tag object (containing metadata for each image) + $imgInfoObjects += $tag } } } + + Get-ReleaseYamlPopulated -Channel $channelName -YamlFilePath $channelReleaseOperationYamlPath -ImageInfoObjects $imgInfoObjects + Write-Verbose "done with this population!" } } } diff --git a/tools/buildHelper/buildHelper.psm1 b/tools/buildHelper/buildHelper.psm1 index 6776dd308..a939ad5f7 100644 --- a/tools/buildHelper/buildHelper.psm1 +++ b/tools/buildHelper/buildHelper.psm1 @@ -1244,3 +1244,83 @@ function Get-TemplatePopulatedYaml { Add-Content -Path $YamlFilePath -Value "$($sixSpace)channel: `${{ parameters.channel }}" Add-Content -Path $YamlFilePath -Value "$($sixSpace)channelPath: `${{ parameters.channelPath }}" } + +function Get-ReleaseYamlPopulated { + param( + [string] + $Channel, + + [string] + $YamlFilePath, + + [object[]] + $ImageInfoObjects + ) + + if (!$YamlFilePath) + { + throw "Yaml file $YamlFilePath provided as parameter cannot be found." + } + + $defaultArtifactsValue = Get-DefaultArtifactNamesString -Channel $Channel -ImageInfoObjects $ImageInfoObjects + if ($defaultArtifactsValue -eq "[]") + { + throw "Default artifact names string $defaultArtifactsValue was empty." + } + + $doubleSpace = " "*2 + $fourSpace = " "*4 + + Add-Content -Path $YamlFilePath -Value "parameters:" + Add-Content -Path $YamlFilePath -Value "- name: channel" + Add-Content -Path $YamlFilePath -Value "$($doubleSpace)default: '$Channel'" + Add-Content -Path $YamlFilePath -Value "- name: artifactNames" + Add-Content -Path $YamlFilePath -Value "$($doubleSpace)type: object" + Add-Content -Path $YamlFilePath -Value "$($doubleSpace)default: $defaultArtifactsValue" + Add-Content -Path $YamlFilePath -Value "stages:" + Add-Content -Path $YamlFilePath -Value "- template: /.vsts-ci/templatesReleasePipeline/releaseTestPrepStage.yml@self" + Add-Content -Path $YamlFilePath -Value "$($doubleSpace)parameters:" + Add-Content -Path $YamlFilePath -Value "$($fourSpace)channel: `${{ parameters.channel }}" + Add-Content -Path $YamlFilePath -Value "$($fourSpace)artifactNames: `${{ parameters.artifactNames }}" + + +# parameters: +# - name: channel +# default: "stable" +# - name: "artifactNames" +# type: object +# default: ['drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316_test_deps', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian12','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian12_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_mariner2','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi8','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi8_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi9','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi9_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2004','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2004_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2204','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2204_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm32_ubuntu2004_arm32v7','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm32_ubuntu2204_arm32v7','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm64_mariner2_arm64','drop_StageGenerateBuild_stable_Job_Build_Build_windows_amd64_windowsserver2022','drop_StageGenerateBuild_stable_Job_Build_Build_windows_amd64_windowsservercore2022'] +# # default: ['drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317_test_deps'] + +# stages: +# - template: /.vsts-ci/templatesReleasePipeline/releaseTestPrepStage.yml@self +# parameters: +# channel: ${{ parameters.channel }} +# artifactNames: ${{ parameters.artifactNames }} +} + +function Get-DefaultArtifactNamesString { + param( + [string] + $Channel, + + [object[]] + $ImageInfoObjects + ) + + $defaultArtifactString = "[" + foreach ($img in $ImageInfoObjects) + { + $architecture = $img.Architecture + $poolOS = $img.IsLinux ? "linux" : "windows" + $archBasedJobName = "Build_$($poolOS)_$($architecture)" + + $artifactName = "'" + "drop_StageGenerateBuild_$($Channel)_Job_Build_" + $archBasedJobName + "_$name" + "'" + Write-Verbose "artifact name derived is: $artifactName" + $defaultArtifactString += $artifactName + } + + $defaultArtifactString = "]" + Write-Verbose -Verbose "default string is: $defaultArtifactString" + return $defaultArtifactString +} From 8ef62034f8da97911191bfc4b543612f747e541b Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Mon, 12 Aug 2024 14:52:33 -0400 Subject: [PATCH 2/7] fix default names getting populated --- build.ps1 | 1 - tools/buildHelper/buildHelper.psm1 | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build.ps1 b/build.ps1 index b9ae61b13..31505f319 100755 --- a/build.ps1 +++ b/build.ps1 @@ -769,7 +769,6 @@ End { } Get-ReleaseYamlPopulated -Channel $channelName -YamlFilePath $channelReleaseOperationYamlPath -ImageInfoObjects $imgInfoObjects - Write-Verbose "done with this population!" } } } diff --git a/tools/buildHelper/buildHelper.psm1 b/tools/buildHelper/buildHelper.psm1 index a939ad5f7..47dc923a1 100644 --- a/tools/buildHelper/buildHelper.psm1 +++ b/tools/buildHelper/buildHelper.psm1 @@ -1262,6 +1262,7 @@ function Get-ReleaseYamlPopulated { throw "Yaml file $YamlFilePath provided as parameter cannot be found." } + Write-Verbose -Verbose "about to call GET-DEFSTRNG HELPER" $defaultArtifactsValue = Get-DefaultArtifactNamesString -Channel $Channel -ImageInfoObjects $ImageInfoObjects if ($defaultArtifactsValue -eq "[]") { @@ -1314,13 +1315,14 @@ function Get-DefaultArtifactNamesString { $architecture = $img.Architecture $poolOS = $img.IsLinux ? "linux" : "windows" $archBasedJobName = "Build_$($poolOS)_$($architecture)" + $artifactSuffix = $img.Name.ToString().Replace("\", "_").Replace("-","_").Replace(".","") - $artifactName = "'" + "drop_StageGenerateBuild_$($Channel)_Job_Build_" + $archBasedJobName + "_$name" + "'" - Write-Verbose "artifact name derived is: $artifactName" + $joiningDelimeter = $defaultArtifactString.Length -gt 1 ? "," : "" + $artifactName = "$joiningDelimeter" + "'" + "drop_StageGenerateBuild_$($Channel)_Job_Build_" + $archBasedJobName + "_$artifactSuffix" + "'" $defaultArtifactString += $artifactName } - $defaultArtifactString = "]" + $defaultArtifactString += "]" Write-Verbose -Verbose "default string is: $defaultArtifactString" return $defaultArtifactString } From 4eea02d1f82433c00a2cd0e4e10570dfc16a22e7 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Mon, 12 Aug 2024 16:49:17 -0400 Subject: [PATCH 3/7] populate release yaml files correctly and update .md file --- build.ps1 | 15 ++++++++++----- tools/updateYamls/updateYamls.md | 5 +++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/build.ps1 b/build.ps1 index 31505f319..73f2dc3fd 100755 --- a/build.ps1 +++ b/build.ps1 @@ -709,6 +709,7 @@ End { $channelsUsed = @{} $releaseChannelsUsed = @{} + $emptyArr = @() if ($UpdateBuildYaml.IsPresent) { foreach ($repo in $tagGroups.Keys | Sort-Object) { $channelGroups = $tagGroups.$repo | Group-Object -Property Channel @@ -749,11 +750,10 @@ End { } New-Item -Type File -Path $channelReleaseOperationYamlPath - $releaseChannelsUsed.Add($channelName, $channelGroup.Values) + $releaseChannelsUsed.Add($channelName, $emptyArr) } $osGroups = $channelGroup.Group | Group-Object -Property os - $imgInfoObjects = @() foreach ($osGroup in $osGroups) { $architectureGroups = $osGroup.Group | Group-Object -Property Architecture foreach ($architectureGroup in $architectureGroups) { @@ -763,14 +763,19 @@ End { Get-TemplatePopulatedYaml -YamlFilePath $channelReleaseStagePath -ImageInfo $tag # for release yaml, need to collect tag object (containing metadata for each image) - $imgInfoObjects += $tag + $releaseChannelsUsed[$channelName] += $tag } } } - - Get-ReleaseYamlPopulated -Channel $channelName -YamlFilePath $channelReleaseOperationYamlPath -ImageInfoObjects $imgInfoObjects } } + + $channelsFound = $releaseChannelsUsed.Keys + foreach ($channelKey in $channelsFound) + { + $imgInfoObjArr = $releaseChannelsUsed[$channelKey] + Get-ReleaseYamlPopulated -Channel $channelName -YamlFilePath $channelReleaseOperationYamlPath -ImageInfoObjects $imgInfoObjArr + } } if ($GenerateManifestLists.IsPresent) { diff --git a/tools/updateYamls/updateYamls.md b/tools/updateYamls/updateYamls.md index 83cb3409e..a87582d8d 100644 --- a/tools/updateYamls/updateYamls.md +++ b/tools/updateYamls/updateYamls.md @@ -2,11 +2,12 @@ ## Context -This `updateBuildYamls.ps1` script needs to be run before the build pipeline for PowerShell-Docker is kicked off. Running the script will produce a channel based yaml file, like <channel>ReleaseStage.yml for each channel. Then a PR must be created with these newly added/updated yaml files as the build will rely on them. +This `updateBuildYamls.ps1` script needs to be run before the build and release pipelines for PowerShell-Docker are kicked off. Running the script will produce channel-based yaml files, like <channel>ReleaseStage.yml for build and `templatesReleasePipeline/<channel>ReleaseGetBuiltImages.yml` for release, for each channel. Then a PR must be created with these newly added/updated yaml files as the build and release will rely on them. ## Running the Script -To update the releaseStage.yml file for all the channels, run `./updateBuildYamls.ps1 -StableVersion -PreviewVersion -LtsVersion `. +To update the <channel>releaseStage.yml and `templatesReleasePipeline/<channel>ReleaseGetBuiltImages.yml` files for all the channels, run: + `./updateBuildYamls.ps1 -StableVersion -PreviewVersion -LtsVersion `. If you want the channel versions from channels.json to be used, simply omit the -*Version parameters and run, `./updateBuildYamls.ps1`. From 5a42fc9a32dfc1595ba136bbe59ebac330d038cd Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Mon, 12 Aug 2024 17:02:10 -0400 Subject: [PATCH 4/7] add created yaml files --- .../ltsReleaseGetBuiltImages.yml | 11 +++++++++++ .../previewReleaseGetBuiltImages.yml | 11 +++++++++++ .../stableReleaseGetBuiltImages.yml | 11 +++++++++++ 3 files changed, 33 insertions(+) create mode 100644 .vsts-ci/templatesReleasePipeline/ltsReleaseGetBuiltImages.yml create mode 100644 .vsts-ci/templatesReleasePipeline/previewReleaseGetBuiltImages.yml create mode 100644 .vsts-ci/templatesReleasePipeline/stableReleaseGetBuiltImages.yml diff --git a/.vsts-ci/templatesReleasePipeline/ltsReleaseGetBuiltImages.yml b/.vsts-ci/templatesReleasePipeline/ltsReleaseGetBuiltImages.yml new file mode 100644 index 000000000..b50ceec46 --- /dev/null +++ b/.vsts-ci/templatesReleasePipeline/ltsReleaseGetBuiltImages.yml @@ -0,0 +1,11 @@ +parameters: +- name: channel + default: 'lts' +- name: artifactNames + type: object + default: ['drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_alpine316','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_alpine317','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_debian11','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_mariner2','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_ubi8','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_ubuntu2004','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_ubuntu2204','drop_StageGenerateBuild_lts_Job_Build_Build_linux_arm32_ubuntu2004_arm32v7','drop_StageGenerateBuild_lts_Job_Build_Build_linux_arm32_ubuntu2204_arm32v7','drop_StageGenerateBuild_lts_Job_Build_Build_windows_amd64_nanoserver1809','drop_StageGenerateBuild_lts_Job_Build_Build_windows_amd64_nanoserver2022','drop_StageGenerateBuild_lts_Job_Build_Build_windows_amd64_windowsserver2022','drop_StageGenerateBuild_lts_Job_Build_Build_windows_amd64_windowsservercore2022','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_alpine316_test_deps','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_alpine317_test_deps','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_debian11_test_deps','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_ubi8_test_deps','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_ubuntu2004_test_deps','drop_StageGenerateBuild_lts_Job_Build_Build_linux_amd64_ubuntu2204_test_deps'] +stages: +- template: /.vsts-ci/templatesReleasePipeline/releaseTestPrepStage.yml@self + parameters: + channel: ${{ parameters.channel }} + artifactNames: ${{ parameters.artifactNames }} diff --git a/.vsts-ci/templatesReleasePipeline/previewReleaseGetBuiltImages.yml b/.vsts-ci/templatesReleasePipeline/previewReleaseGetBuiltImages.yml new file mode 100644 index 000000000..74c01639a --- /dev/null +++ b/.vsts-ci/templatesReleasePipeline/previewReleaseGetBuiltImages.yml @@ -0,0 +1,11 @@ +parameters: +- name: channel + default: 'preview' +- name: artifactNames + type: object + default: ['drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_alpine316','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_alpine317','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_debian11','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_debian12','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_mariner2','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubi8','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubi9','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubuntu2004','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubuntu2204','drop_StageGenerateBuild_preview_Job_Build_Build_linux_arm32_ubuntu2004_arm32v7','drop_StageGenerateBuild_preview_Job_Build_Build_linux_arm32_ubuntu2204_arm32v7','drop_StageGenerateBuild_preview_Job_Build_Build_linux_arm64_mariner2_arm64','drop_StageGenerateBuild_preview_Job_Build_Build_windows_amd64_windowsserver2022','drop_StageGenerateBuild_preview_Job_Build_Build_windows_amd64_windowsservercore2022','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_alpine316_test_deps','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_alpine317_test_deps','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_debian11_test_deps','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_debian12_test_deps','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubi8_test_deps','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubi9_test_deps','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubuntu2004_test_deps','drop_StageGenerateBuild_preview_Job_Build_Build_linux_amd64_ubuntu2204_test_deps'] +stages: +- template: /.vsts-ci/templatesReleasePipeline/releaseTestPrepStage.yml@self + parameters: + channel: ${{ parameters.channel }} + artifactNames: ${{ parameters.artifactNames }} diff --git a/.vsts-ci/templatesReleasePipeline/stableReleaseGetBuiltImages.yml b/.vsts-ci/templatesReleasePipeline/stableReleaseGetBuiltImages.yml new file mode 100644 index 000000000..4d6de49f7 --- /dev/null +++ b/.vsts-ci/templatesReleasePipeline/stableReleaseGetBuiltImages.yml @@ -0,0 +1,11 @@ +parameters: +- name: channel + default: 'stable' +- name: artifactNames + type: object + default: ['drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian12','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_mariner2','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi8','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi9','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2004','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2204','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm32_ubuntu2004_arm32v7','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm32_ubuntu2204_arm32v7','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm64_mariner2_arm64','drop_StageGenerateBuild_stable_Job_Build_Build_windows_amd64_windowsserver2022','drop_StageGenerateBuild_stable_Job_Build_Build_windows_amd64_windowsservercore2022','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian12_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi8_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi9_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2004_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2204_test_deps'] +stages: +- template: /.vsts-ci/templatesReleasePipeline/releaseTestPrepStage.yml@self + parameters: + channel: ${{ parameters.channel }} + artifactNames: ${{ parameters.artifactNames }} From 23d6d214ae65b8c364227f72eac1cebcadac10f1 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Mon, 12 Aug 2024 17:08:01 -0400 Subject: [PATCH 5/7] fix markdown styling --- tools/updateYamls/updateYamls.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/updateYamls/updateYamls.md b/tools/updateYamls/updateYamls.md index a87582d8d..7832ee83a 100644 --- a/tools/updateYamls/updateYamls.md +++ b/tools/updateYamls/updateYamls.md @@ -2,11 +2,11 @@ ## Context -This `updateBuildYamls.ps1` script needs to be run before the build and release pipelines for PowerShell-Docker are kicked off. Running the script will produce channel-based yaml files, like <channel>ReleaseStage.yml for build and `templatesReleasePipeline/<channel>ReleaseGetBuiltImages.yml` for release, for each channel. Then a PR must be created with these newly added/updated yaml files as the build and release will rely on them. +This `updateBuildYamls.ps1` script needs to be run before the build and release pipelines for PowerShell-Docker are kicked off. Running the script will produce channel-based yaml files, like <channel>ReleaseStage.yml for build and templatesReleasePipeline/<channel>ReleaseGetBuiltImages.yml for release, for each channel. Then a PR must be created with these newly added/updated yaml files as the build and release will rely on them. ## Running the Script -To update the <channel>releaseStage.yml and `templatesReleasePipeline/<channel>ReleaseGetBuiltImages.yml` files for all the channels, run: +To update the <channel>releaseStage.yml and templatesReleasePipeline/<channel>ReleaseGetBuiltImages.yml files for all the channels, run: `./updateBuildYamls.ps1 -StableVersion -PreviewVersion -LtsVersion `. If you want the channel versions from channels.json to be used, simply omit the -*Version parameters and run, `./updateBuildYamls.ps1`. From b0bb43c3bd39dbc43d2f550d6ee6c317d2572750 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Mon, 12 Aug 2024 17:10:44 -0400 Subject: [PATCH 6/7] fix typo for consistency --- tools/updateYamls/updateYamls.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/updateYamls/updateYamls.md b/tools/updateYamls/updateYamls.md index 7832ee83a..f5e4e421d 100644 --- a/tools/updateYamls/updateYamls.md +++ b/tools/updateYamls/updateYamls.md @@ -9,7 +9,7 @@ This `updateBuildYamls.ps1` script needs to be run before the build and release To update the <channel>releaseStage.yml and templatesReleasePipeline/<channel>ReleaseGetBuiltImages.yml files for all the channels, run: `./updateBuildYamls.ps1 -StableVersion -PreviewVersion -LtsVersion `. -If you want the channel versions from channels.json to be used, simply omit the -*Version parameters and run, `./updateBuildYamls.ps1`. +If you want the channel versions from channels.json to be used, simply omit the -*Version parameters and run: `./updateBuildYamls.ps1`. ## Notes From c1e7177ad0c0290fed3fa69516b5608496ce7729 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Mon, 12 Aug 2024 17:13:03 -0400 Subject: [PATCH 7/7] clean up comments --- tools/buildHelper/buildHelper.psm1 | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/tools/buildHelper/buildHelper.psm1 b/tools/buildHelper/buildHelper.psm1 index 47dc923a1..7bcd78be8 100644 --- a/tools/buildHelper/buildHelper.psm1 +++ b/tools/buildHelper/buildHelper.psm1 @@ -1262,7 +1262,6 @@ function Get-ReleaseYamlPopulated { throw "Yaml file $YamlFilePath provided as parameter cannot be found." } - Write-Verbose -Verbose "about to call GET-DEFSTRNG HELPER" $defaultArtifactsValue = Get-DefaultArtifactNamesString -Channel $Channel -ImageInfoObjects $ImageInfoObjects if ($defaultArtifactsValue -eq "[]") { @@ -1283,21 +1282,6 @@ function Get-ReleaseYamlPopulated { Add-Content -Path $YamlFilePath -Value "$($doubleSpace)parameters:" Add-Content -Path $YamlFilePath -Value "$($fourSpace)channel: `${{ parameters.channel }}" Add-Content -Path $YamlFilePath -Value "$($fourSpace)artifactNames: `${{ parameters.artifactNames }}" - - -# parameters: -# - name: channel -# default: "stable" -# - name: "artifactNames" -# type: object -# default: ['drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316_test_deps', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian12','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian12_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_mariner2','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi8','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi8_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi9','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubi9_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2004','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2004_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2204','drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_ubuntu2204_test_deps','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm32_ubuntu2004_arm32v7','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm32_ubuntu2204_arm32v7','drop_StageGenerateBuild_stable_Job_Build_Build_linux_arm64_mariner2_arm64','drop_StageGenerateBuild_stable_Job_Build_Build_windows_amd64_windowsserver2022','drop_StageGenerateBuild_stable_Job_Build_Build_windows_amd64_windowsservercore2022'] -# # default: ['drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine316', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_debian11', 'drop_StageGenerateBuild_stable_Job_Build_Build_linux_amd64_alpine317_test_deps'] - -# stages: -# - template: /.vsts-ci/templatesReleasePipeline/releaseTestPrepStage.yml@self -# parameters: -# channel: ${{ parameters.channel }} -# artifactNames: ${{ parameters.artifactNames }} } function Get-DefaultArtifactNamesString { @@ -1323,6 +1307,5 @@ function Get-DefaultArtifactNamesString { } $defaultArtifactString += "]" - Write-Verbose -Verbose "default string is: $defaultArtifactString" return $defaultArtifactString }