From 237b5eaf814d4a44906e6f2d8a8bad8863ee855c Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Wed, 8 Jul 2026 14:32:04 -0700 Subject: [PATCH 01/18] Remove release category for PMC --- .pipelines/DSC-Official-PMC.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 461b5e7dd..6cd432066 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -32,8 +32,6 @@ resources: extends: template: v2/OneBranch.Official.CrossPlat.yml@onebranchTemplates parameters: - release: - category: Azure featureFlags: WindowsHostVersion: Disk: Large From 0781eff0094f9e7a78d8c9031cea1189bf379a48 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Wed, 8 Jul 2026 15:45:54 -0700 Subject: [PATCH 02/18] change setpackageversion stage to use linux --- .pipelines/DSC-Official-PMC.yml | 3 +-- .pipelines/DSC-Official.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 6cd432066..4730861ef 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -65,8 +65,7 @@ extends: - job: SetPackageVersion displayName: Set PackageVersion pool: - type: windows - vmImage: windows-latest + type: linux variables: ob_outputDirectory: '$(Build.ArtifactStagingDirectory)' ob_sdl_sbom_enabled: false diff --git a/.pipelines/DSC-Official.yml b/.pipelines/DSC-Official.yml index 139b798fb..d803355cd 100644 --- a/.pipelines/DSC-Official.yml +++ b/.pipelines/DSC-Official.yml @@ -81,8 +81,7 @@ extends: - job: SetPackageVersion displayName: Set PackageVersion pool: - type: windows - vmImage: windows-latest + type: linux variables: ob_outputDirectory: '$(Build.ArtifactStagingDirectory)' ob_sdl_sbom_enabled: false From cdf96f0fb3b36d618ec9063534dae5bd732814db Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Wed, 8 Jul 2026 16:40:55 -0700 Subject: [PATCH 03/18] set image name --- .pipelines/DSC-Official-PMC.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 4730861ef..6266e5964 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -32,11 +32,6 @@ resources: extends: template: v2/OneBranch.Official.CrossPlat.yml@onebranchTemplates parameters: - featureFlags: - WindowsHostVersion: - Disk: Large - Version: 2022 - Network: KS1 customTags: 'ES365AIMigrationTooling' globalSdl: disableLegacyManifest: true @@ -67,6 +62,7 @@ extends: pool: type: linux variables: + LinuxContainerImage: 'onebranch.azurecr.io/linux/ubuntu-2204:latest' ob_outputDirectory: '$(Build.ArtifactStagingDirectory)' ob_sdl_sbom_enabled: false ob_signing_setup_enabled: false From 605c79b48731a68abd4891ea9f0dbb736f349b49 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Wed, 8 Jul 2026 18:58:47 -0700 Subject: [PATCH 04/18] specify image for prep stage --- .pipelines/DSC-Official-PMC.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 6266e5964..f2b840299 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -179,6 +179,8 @@ extends: - input: pipelineArtifact artifactName: drop_BuildAndSign_BuildLinuxArm64Musl variables: + - name: LinuxContainerImage + value: 'onebranch.azurecr.io/linux/ubuntu-2204:latest' - name: ob_outputDirectory value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT' - name: ev2ServiceGroupRootFolder @@ -326,6 +328,7 @@ extends: SourceFolder: '$(Build.SourcesDirectory)/.pipelines' Contents: 'EV2Specs/**' TargetFolder: $(ob_outputDirectory) + - stage: Prod_PMCRelease displayName: 'Deploy packages to PMC with EV2' dependsOn: From 522b8894db380536471885658149d3bd92d12b7f Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Thu, 9 Jul 2026 08:45:02 -0700 Subject: [PATCH 05/18] fix feed to msazure --- .pipelines/DSC-Official-PMC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index f2b840299..7302b59f0 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -206,7 +206,7 @@ extends: - task: PipAuthenticate@1 inputs: - artifactFeeds: 'PowerShellCore/PowerShellCore_PublicPackages' + artifactFeeds: 'Compute-PMC@Release' displayName: 'Pip Authenticate' env: ob_restore_phase: true From 983d7817dbd71e5f8f2aab99f330daccbef7a5ee Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Thu, 9 Jul 2026 08:46:32 -0700 Subject: [PATCH 06/18] fix feed name --- .pipelines/DSC-Official-PMC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 7302b59f0..923b9bfc5 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -206,7 +206,7 @@ extends: - task: PipAuthenticate@1 inputs: - artifactFeeds: 'Compute-PMC@Release' + artifactFeeds: 'DSC-Compute-PMC' displayName: 'Pip Authenticate' env: ob_restore_phase: true From d615b1f90bdd779cf570646c3fd40f82b3b788d1 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Thu, 9 Jul 2026 12:35:22 -0700 Subject: [PATCH 07/18] fix feed name --- .pipelines/DSC-Official-PMC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 923b9bfc5..b751f3510 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -206,7 +206,7 @@ extends: - task: PipAuthenticate@1 inputs: - artifactFeeds: 'DSC-Compute-PMC' + artifactFeeds: 'One/DSC-Compute-PMC' displayName: 'Pip Authenticate' env: ob_restore_phase: true From dcc6421f0dfa07f013efa4aaf236888b57f56ba2 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Thu, 9 Jul 2026 15:57:00 -0700 Subject: [PATCH 08/18] change to use different feed --- .pipelines/DSC-Official-PMC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index b751f3510..39f730659 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -206,7 +206,7 @@ extends: - task: PipAuthenticate@1 inputs: - artifactFeeds: 'One/DSC-Compute-PMC' + artifactFeeds: 'One/Compute-PMC@Release' displayName: 'Pip Authenticate' env: ob_restore_phase: true From 8bfa8316e81f438aea0fc994c3c4a520033dc545 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Thu, 9 Jul 2026 17:33:12 -0700 Subject: [PATCH 09/18] remove platform filter --- .pipelines/DSC-Official-PMC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 39f730659..1670ac427 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -206,7 +206,7 @@ extends: - task: PipAuthenticate@1 inputs: - artifactFeeds: 'One/Compute-PMC@Release' + artifactFeeds: 'One/DSC-Compute-PMC' displayName: 'Pip Authenticate' env: ob_restore_phase: true @@ -216,7 +216,7 @@ extends: pip --version --verbose $pythonDlFolderPath = Join-Path '$(ev2ServiceGroupRootFolder)/Shell/Run' -ChildPath "python_dl" New-Item -Path $pythonDlFolderPath -ItemType Directory -Force > $null - pip download -d $pythonDlFolderPath pmc-cli --platform=manylinux_2_17_x86_64 --only-binary=:all: --verbose + pip download -d $pythonDlFolderPath pmc-cli --only-binary=:all: --verbose displayName: 'Download pmc-cli package' env: ob_restore_phase: true From 973adf87ec015ad1fdb0f2f4d3fb50ba67a01042 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Jul 2026 14:31:31 -0700 Subject: [PATCH 10/18] enable verbose output from pip --- .pipelines/DSC-Official-PMC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 1670ac427..54c78fd6f 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -216,7 +216,7 @@ extends: pip --version --verbose $pythonDlFolderPath = Join-Path '$(ev2ServiceGroupRootFolder)/Shell/Run' -ChildPath "python_dl" New-Item -Path $pythonDlFolderPath -ItemType Directory -Force > $null - pip download -d $pythonDlFolderPath pmc-cli --only-binary=:all: --verbose + pip download -d $pythonDlFolderPath pmc-cli --only-binary=:all: -vvv displayName: 'Download pmc-cli package' env: ob_restore_phase: true From 341bb778c658917fd3566e147d5163eee10bf06c Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Jul 2026 14:47:16 -0700 Subject: [PATCH 11/18] try different feed --- .pipelines/DSC-Official-PMC.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 54c78fd6f..657fd2861 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -206,7 +206,8 @@ extends: - task: PipAuthenticate@1 inputs: - artifactFeeds: 'One/DSC-Compute-PMC' +# artifactFeeds: 'One/DSC-Compute-PMC' + artifactFeeds: 'One/azsecpack-pmc-cli' displayName: 'Pip Authenticate' env: ob_restore_phase: true From cb936db239f6398fad8f01833a3b3b264777cc83 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Jul 2026 16:20:43 -0700 Subject: [PATCH 12/18] fix comparison in script --- .pipelines/DSC-Official-PMC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 657fd2861..da6d869be 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -206,7 +206,7 @@ extends: - task: PipAuthenticate@1 inputs: -# artifactFeeds: 'One/DSC-Compute-PMC' + # artifactFeeds: 'One/DSC-Compute-PMC' artifactFeeds: 'One/azsecpack-pmc-cli' displayName: 'Pip Authenticate' env: @@ -248,7 +248,7 @@ extends: $metadataHash = @{ ReleaseTag = "v$packageVersion" ForProduction = $true - SkipPublish = $(PublishToPMC) -eq 'false' + SkipPublish = '$(PublishToPMC)'' -eq 'False' } $metadataHash | ConvertTo-Json | Out-File $pathToPMCMetadataFile From d062b6441f062d30ae4b5ec89ecbeabbcc7a79da Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Jul 2026 16:25:05 -0700 Subject: [PATCH 13/18] fix typo --- .pipelines/DSC-Official-PMC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index da6d869be..3b3ab4e7a 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -248,7 +248,7 @@ extends: $metadataHash = @{ ReleaseTag = "v$packageVersion" ForProduction = $true - SkipPublish = '$(PublishToPMC)'' -eq 'False' + SkipPublish = '$(PublishToPMC)' -eq 'False' } $metadataHash | ConvertTo-Json | Out-File $pathToPMCMetadataFile From 972df9e6d33b034d8a09b7be5f5af549e9db61e7 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Sat, 11 Jul 2026 21:44:30 -0700 Subject: [PATCH 14/18] move LinuxContainerImage to be global --- .pipelines/DSC-Official-PMC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 3b3ab4e7a..4addcc4b7 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -21,6 +21,8 @@ variables: value: ${{ parameters.PublishToPMC }} - name: RustVersion value: ms-prod-1.95 + - name: LinuxContainerImage + value: 'onebranch.azurecr.io/linux/ubuntu-2204:latest' resources: repositories: @@ -179,8 +181,6 @@ extends: - input: pipelineArtifact artifactName: drop_BuildAndSign_BuildLinuxArm64Musl variables: - - name: LinuxContainerImage - value: 'onebranch.azurecr.io/linux/ubuntu-2204:latest' - name: ob_outputDirectory value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT' - name: ev2ServiceGroupRootFolder From cc6b368d62459aa315d3067ce857c5b15680ac24 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Mon, 13 Jul 2026 10:49:42 -0700 Subject: [PATCH 15/18] fix repo root --- .pipelines/DSC-Official-PMC.yml | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 4addcc4b7..8599687b2 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -184,13 +184,13 @@ extends: - name: ob_outputDirectory value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT' - name: ev2ServiceGroupRootFolder - value: '$(Build.SourcesDirectory)/.pipelines/EV2Specs/ServiceGroupRoot' + value: '$(Build.SourcesDirectory)/DSC/.pipelines/EV2Specs/ServiceGroupRoot' - name: ev2ParametersFolder - value: '$(Build.SourcesDirectory)/.pipelines/EV2Specs/ServiceGroupRoot/Parameters' + value: '$(Build.SourcesDirectory)/DSC/.pipelines/EV2Specs/ServiceGroupRoot/Parameters' - name: ob_sdl_credscan_suppressionsFile - value: $(Build.SourcesDirectory)/.config/suppress.json + value: $(Build.SourcesDirectory)/DSC/.config/suppress.json - name: ob_sdl_tsa_configFile - value: $(Build.SourcesDirectory)/.config/tsaoptions.json + value: $(Build.SourcesDirectory)/DSC/.config/tsaoptions.json - group: 'DSC-packages.microsoft.com' steps: - checkout: self @@ -204,6 +204,24 @@ extends: env: ob_restore_phase: true + - pwsh: | + Get-ChildItem Env: | Out-String -Stream | write-Verbose -Verbose + displayName: 'Capture Environment Variables' + env: + ob_restore_phase: true + + - pwsh: | + Get-ChildItem '$(Build.SourcesDirectory)' + displayName: 'Capture BuildDirectory' + env: + ob_restore_phase: true + + - pwsh: | + Get-ChildItem '$(Pipeline.Workspace)' -Recurse | Out-String -Stream | write-Verbose -Verbose + displayName: 'Capture Workspace' + env: + ob_restore_phase: true + - task: PipAuthenticate@1 inputs: # artifactFeeds: 'One/DSC-Compute-PMC' @@ -253,7 +271,7 @@ extends: $metadataHash | ConvertTo-Json | Out-File $pathToPMCMetadataFile - $mappingFilePath = Join-Path -Path '$(Build.SourcesDirectory)/tools/packages.microsoft.com' -ChildPath 'mapping.json' + $mappingFilePath = Join-Path -Path '$(Build.SourcesDirectory)/DSC/tools/packages.microsoft.com' -ChildPath 'mapping.json' $mappingFileEV2Path = Join-Path -Path '$(ev2ParametersFolder)' -ChildPath 'mapping.json' Write-Verbose -Verbose "Copying mapping.json from $mappingFilePath to $mappingFileEV2Path" Copy-Item -Path $mappingFilePath -Destination $mappingFileEV2Path @@ -326,7 +344,7 @@ extends: - task: CopyFiles@2 inputs: - SourceFolder: '$(Build.SourcesDirectory)/.pipelines' + SourceFolder: '$(Build.SourcesDirectory)/DSC/.pipelines' Contents: 'EV2Specs/**' TargetFolder: $(ob_outputDirectory) @@ -337,8 +355,6 @@ extends: variables: - name: ob_release_environment value: Production - - name: repoRoot - value: $(Build.SourcesDirectory) jobs: - job: Prod_ReleaseJob displayName: Publish to PMC From 398814f818adc92036af0f9d5db00d955a337538 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Mon, 13 Jul 2026 10:53:33 -0700 Subject: [PATCH 16/18] use reporoot variable --- .pipelines/DSC-Official-PMC.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 8599687b2..6b34c02ce 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -23,6 +23,8 @@ variables: value: ms-prod-1.95 - name: LinuxContainerImage value: 'onebranch.azurecr.io/linux/ubuntu-2204:latest' + - name: RepoRoot + value: '$(Build.SourcesDirectory)/DSC' resources: repositories: @@ -184,13 +186,13 @@ extends: - name: ob_outputDirectory value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT' - name: ev2ServiceGroupRootFolder - value: '$(Build.SourcesDirectory)/DSC/.pipelines/EV2Specs/ServiceGroupRoot' + value: '$(RepoRoot)/.pipelines/EV2Specs/ServiceGroupRoot' - name: ev2ParametersFolder - value: '$(Build.SourcesDirectory)/DSC/.pipelines/EV2Specs/ServiceGroupRoot/Parameters' + value: '$(RepoRoot)/.pipelines/EV2Specs/ServiceGroupRoot/Parameters' - name: ob_sdl_credscan_suppressionsFile - value: $(Build.SourcesDirectory)/DSC/.config/suppress.json + value: $(RepoRoot)/.config/suppress.json - name: ob_sdl_tsa_configFile - value: $(Build.SourcesDirectory)/DSC/.config/tsaoptions.json + value: $(RepoRoot)/.config/tsaoptions.json - group: 'DSC-packages.microsoft.com' steps: - checkout: self @@ -271,7 +273,7 @@ extends: $metadataHash | ConvertTo-Json | Out-File $pathToPMCMetadataFile - $mappingFilePath = Join-Path -Path '$(Build.SourcesDirectory)/DSC/tools/packages.microsoft.com' -ChildPath 'mapping.json' + $mappingFilePath = Join-Path -Path '$(RepoRoot)/tools/packages.microsoft.com' -ChildPath 'mapping.json' $mappingFileEV2Path = Join-Path -Path '$(ev2ParametersFolder)' -ChildPath 'mapping.json' Write-Verbose -Verbose "Copying mapping.json from $mappingFilePath to $mappingFileEV2Path" Copy-Item -Path $mappingFilePath -Destination $mappingFileEV2Path @@ -344,7 +346,7 @@ extends: - task: CopyFiles@2 inputs: - SourceFolder: '$(Build.SourcesDirectory)/DSC/.pipelines' + SourceFolder: '$(RepoRoot)/.pipelines' Contents: 'EV2Specs/**' TargetFolder: $(ob_outputDirectory) From e4945f03b50936f5c82e3cb18128edff544e2a33 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Mon, 13 Jul 2026 12:22:42 -0700 Subject: [PATCH 17/18] enable esrpsigning --- .pipelines/DSC-Official-PMC.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.pipelines/DSC-Official-PMC.yml b/.pipelines/DSC-Official-PMC.yml index 6b34c02ce..bb8067999 100644 --- a/.pipelines/DSC-Official-PMC.yml +++ b/.pipelines/DSC-Official-PMC.yml @@ -36,6 +36,8 @@ resources: extends: template: v2/OneBranch.Official.CrossPlat.yml@onebranchTemplates parameters: + featureFlags: + linuxEsrpSigning: true customTags: 'ES365AIMigrationTooling' globalSdl: disableLegacyManifest: true From fb76ea3c2d271b130506946430cc7e84ca025ee4 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Mon, 13 Jul 2026 19:48:30 -0700 Subject: [PATCH 18/18] set linux container image --- .pipelines/DSC-Official.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pipelines/DSC-Official.yml b/.pipelines/DSC-Official.yml index d803355cd..a2b9ef599 100644 --- a/.pipelines/DSC-Official.yml +++ b/.pipelines/DSC-Official.yml @@ -83,6 +83,7 @@ extends: pool: type: linux variables: + LinuxContainerImage: 'onebranch.azurecr.io/linux/ubuntu-2204:latest' ob_outputDirectory: '$(Build.ArtifactStagingDirectory)' ob_sdl_sbom_enabled: false ob_signing_setup_enabled: false