[release/v7.6] Add rebuild branch support with conditional MSIX signing#26573
Merged
adityapatwardhan merged 1 commit intoPowerShell:release/v7.6from Dec 5, 2025
Conversation
…26415) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR backports #26415 to the release/v7.6 branch, adding rebuild branch support to prevent incorrect LTS package builds and implementing conditional MSIX signing for official builds only. Rebuild branches (e.g., rebuild/v7.4.13-rebuild.5) are special branches used for re-building specific versions and should not create LTS packages or use LTS channel configuration.
Key Changes:
- Adds a new
rebuild-branch-check.ymltemplate that detects rebuild branches and sets an output variable for consumption by other templates - Modifies all platform packaging templates (Windows, macOS, Linux) to skip LTS package creation on rebuild branches
- Updates channel selection logic to force rebuild branches into preview mode
- Adds conditional MSIX signing that only signs when
OfficialBuildparameter is true
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
.pipelines/templates/rebuild-branch-check.yml |
New template that checks if the current branch is a rebuild branch and exposes the result as an output variable |
.pipelines/templates/packaging/windows/package.yml |
Integrates rebuild branch check to prevent LTS package builds on rebuild branches |
.pipelines/templates/mac-package-build.yml |
Integrates rebuild branch check to prevent LTS package builds on rebuild branches |
.pipelines/templates/linux-package-build.yml |
Integrates rebuild branch check to prevent LTS package builds on rebuild branches |
.pipelines/templates/package-create-msix.yml |
Adds OfficialBuild parameter and conditional signing; includes whitespace cleanup |
.pipelines/templates/channelSelection.yml |
Adds rebuild branch detection to force preview channel mode and prevent LTS channel selection |
.pipelines/PowerShell-Packages-Official.yml |
Passes OfficialBuild parameter to MSIX package creation template |
.pipelines/PowerShell-Coordinated_Packages-Official.yml |
Integrates rebuild branch check to prevent marking rebuild releases as LTS |
.pipelines/EV2Specs/ServiceGroupRoot/Shell/Run/Run.ps1 |
Adds rebuild version detection to skip LTS package publishing for rebuild versions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
daxian-dbw
approved these changes
Dec 5, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #26415 to release/v7.6
Triggered by @adityapatwardhan 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
This change is required for proper handling of rebuild branches in the release pipeline. It prevents LTS packages from being incorrectly built and published from rebuild branches, and adds conditional MSIX signing for official builds only. Without this backport, rebuild branches for v7.6 would not have the proper safety checks in place.
Customer Impact
Regression
REQUIRED: Check exactly one box.
This is not a regression.
Testing
The original PR was tested on master branch with rebuild branch scenarios. For backport verification: (1) Confirmed all modified templates compile without syntax errors, (2) Verified cherry-pick applied all intended changes correctly, (3) Conflict resolution preserved the enhanced logging functionality from the original PR. Full CI testing will validate the rebuild branch detection logic and conditional MSIX signing behavior.
Risk
REQUIRED: Check exactly one box.
This backport affects build and packaging pipelines across multiple platforms. While the changes are well-contained and add safety checks for rebuild branches, any modifications to CI/CD infrastructure carry inherent risk. The changes include conditional logic that could affect package generation, but the logic is defensive and designed to prevent incorrect package builds.
Merge Conflicts
Merge conflict in .pipelines/templates/package-create-msix.yml: Release branch had simplified variable setting, PR added verbose logging. Resolved by applying the enhanced version with verbose logging from the original PR.