Skip to content

[release/v7.5.11] Use Custom Validation Policy for vPack Pipeline - #27915

Merged
Justin Chung (jshigetomi) merged 1 commit into
PowerShell:release/v7.5.11from
jshigetomi:backport-27911-v7.5.11
Sep 1, 2026
Merged

Justin Chung (jshigetomi) merged 1 commit into
PowerShell:release/v7.5.11from
jshigetomi:backport-27911-v7.5.11

Conversation

@jshigetomi

Copy link
Copy Markdown
Collaborator

Backport of #27911 to release/v7.5.11.

Signs the complete vPack payload with the Windows build tools certificate and validates it with the merged repository-owned tools-only CodeSign policy.

Co-authored-by: Justin Chung <chungjustin@microsoft.com>
Copilot-Session: 99e6a033-65fd-4a39-9a71-2ce9b7657c10
(cherry picked from commit bc487bf)
Copilot AI lite review requested due to automatic review settings August 31, 2026 23:44
@jshigetomi
Justin Chung (jshigetomi) requested a review from a team as a code owner August 31, 2026 23:44
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Backport to release/v7.5.11 to unblock the vPack pipeline by disabling the injected CodeSign validation and instead validating the fully signed vPack payload against a repository-owned custom CodeSign policy.

Changes:

  • Disables OneBranch-injected CodeSign validation for the vPack build job and adds an explicit CodeSign validation step using a custom policy file.
  • Extends obp-file-signing.yml to support an overridable third-party signing profile and an option to sign all binaries through the “3rd party” flow.
  • Removes globalSdl.useCustomPolicy from the vPack official pipeline and introduces the repo policy file at .config/codesignpolicy.xml.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
.pipelines/templates/stages/PowerShell-vPack-Stages.yml Disables injected validation, signs full payload, and runs custom-policy CodeSign validation for vPack.
.pipelines/templates/obp-file-signing.yml Adds parameters to control third-party signing profile and optionally sign all binaries via that path.
.pipelines/PowerShell-vPack-Official.yml Removes globalSdl.useCustomPolicy configuration from the official vPack pipeline.
.config/codesignpolicy.xml Adds repository-owned “tools-only” CodeSign validation policy used by the pipeline.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 220 to 226
parameters:
binPath: '$(Pipeline.Workspace)/Symbols_$(Architecture)'
SigningProfile: $(windows_build_tools_cert_id)
ThirdPartySigningProfile: $(windows_build_tools_cert_id)
SignAllBinariesWithThirdPartyProfile: true
OfficialBuild: false
vPackScenario: true
Comment on lines +111 to +116
$signAllBinaries = [System.Convert]::ToBoolean('${{ parameters.SignAllBinariesWithThirdPartyProfile }}')
if ($signAllBinaries) {
$missingSignatures = $signatures | Select-Object -ExpandProperty Path
} else {
$missingSignatures = $signatures | Where-Object { $_.status -eq 'notsigned' -or $_.SignerCertificate.Issuer -notmatch $testCert -or $_.SignerCertificate.Issuer -notmatch $officialIssuerPattern} | Select-Object -ExpandProperty Path
}
@jshigetomi Justin Chung (jshigetomi) added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Sep 1, 2026
@jshigetomi
Justin Chung (jshigetomi) merged commit 03b54ee into PowerShell:release/v7.5.11 Sep 1, 2026
34 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants