Skip to content

[release/v7.5] Optimize/split windows package signing#26815

Merged
daxian-dbw merged 1 commit intoPowerShell:release/v7.5from
daxian-dbw:backport/release/v7.5/26403-3596ffa90
Feb 13, 2026
Merged

[release/v7.5] Optimize/split windows package signing#26815
daxian-dbw merged 1 commit intoPowerShell:release/v7.5from
daxian-dbw:backport/release/v7.5/26403-3596ffa90

Conversation

@daxian-dbw
Copy link
Member

Backport of #26403 to release/v7.5

Triggered by @daxian-dbw on behalf of @TravisEz13

Original CL Label: CL-BuildPackaging

/cc @PowerShell/powershell-maintainers

Impact

REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.

Tooling Impact

  • Required tooling change
  • Optional tooling change (include reasoning)

Splits Windows packaging into separate build and sign stages, adds OneBranch documentation, refactors restore phase configuration

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Changes have been tested in 7.4 and 7.6 releases. Pipeline refactoring maintains existing functionality with improved stage separation.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Refactors Windows package build and signing stages, splitting them for better modularity. Includes documentation improvements and restore phase refactoring. Successfully backported to 7.4 and 7.6 branches.

Merge Conflicts

Conflicts in build-configuration-guide.md and windows/package.yml resolved - context differences in pipeline templates and instruction files

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@daxian-dbw daxian-dbw requested a review from a team as a code owner February 13, 2026 22:42
@daxian-dbw daxian-dbw added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Feb 13, 2026
Copilot AI review requested due to automatic review settings February 13, 2026 22:42
@daxian-dbw daxian-dbw added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Feb 13, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR backports optimizations to Windows package signing from the main branch (#26403) to release/v7.5. It restructures the packaging pipeline to separate build and signing operations into distinct stages, adds comprehensive OneBranch configuration documentation, and refactors templates to properly handle restore phase configuration.

Changes:

  • Split Windows packaging into separate windows_package_build and windows_package_sign stages for better modularity and clarity
  • Added comprehensive OneBranch documentation covering signing configuration patterns, restore phase usage, code review branch strategy, and build configuration
  • Refactored templates to accept and propagate ob_restore_phase parameter consistently, removing deprecated UseJson parameter

Reviewed changes

Copilot reviewed 27 out of 27 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.pipelines/PowerShell-Packages-Official.yml Split windows_package stage into separate build and sign stages with correct dependencies
.pipelines/templates/packaging/windows/package.yml Refactored as build-only stage (no signing), produces unsigned MSI/ZIP/MSIX packages
.pipelines/templates/packaging/windows/sign.yml New template for signing stage, signs MSI/EXE packages and produces final artifacts
.pipelines/templates/set-reporoot.yml New template to set REPOROOT variable, extracted from SetVersionVariables.yml
.pipelines/templates/SetVersionVariables.yml Refactored to use set-reporoot template, removed UseJson parameter, added ob_restore_phase parameter
.pipelines/templates/cloneToOfficialPath.yml Added ob_restore_phase parameter and REPOROOT validation logic
.pipelines/templates/install-dotnet.yml Added ob_restore_phase parameter for consistency
.pipelines/templates/shouldSign.yml Added ob_restore_phase parameter for consistency
.pipelines/templates/package-create-msix.yml Updated artifact names to match new naming convention (drop_windows_package_*)
.pipelines/templates/*.yml (multiple) Removed UseJson parameter, kept only CreateJson
.pipelines/templates/checkAzureContainer.yml Added ob_artifactBaseName variable, removed UseJson parameter
.github/instructions/onebranch-signing-configuration.instructions.md New comprehensive guide for OneBranch signing configuration patterns
.github/instructions/onebranch-restore-phase-pattern.instructions.md New guide documenting the correct restore phase pattern for templates
.github/instructions/code-review-branch-strategy.instructions.md New guide for Copilot on handling backport vs default branch fixes
.github/instructions/build-configuration-guide.md Extended scope to include .pipelines/**/*.yml files
.github/chatmodes/cherry-pick-commits.chatmode.md New Copilot chatmode for cherry-picking commits between branches
.pipelines/templates/release-*.yml (3 files) Deleted unused release templates

@daxian-dbw daxian-dbw merged commit 5d9d882 into PowerShell:release/v7.5 Feb 13, 2026
32 checks passed
@daxian-dbw daxian-dbw deleted the backport/release/v7.5/26403-3596ffa90 branch February 13, 2026 23:03
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