Add rebuild branch support with conditional MSIX signing#26415
Merged
TravisEz13 merged 3 commits intoPowerShell:masterfrom Nov 10, 2025
Merged
Add rebuild branch support with conditional MSIX signing#26415TravisEz13 merged 3 commits intoPowerShell:masterfrom
TravisEz13 merged 3 commits intoPowerShell:masterfrom
Conversation
Enables rebuild branches to skip LTS packaging and conditionally sign MSIX packages.
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for rebuild branches in the PowerShell CI/CD pipeline. Rebuild branches (e.g., rebuild/v7.4.13-rebuild.5) are used for rebuilding existing releases with packaging or infrastructure fixes. The changes enable these branches to skip LTS package creation and conditionally sign MSIX packages based on whether it's an official build.
Key changes:
- New template
rebuild-branch-check.ymldetects rebuild branches and sets a reusable variable - All platform packaging templates (Windows, macOS, Linux) skip LTS package building for rebuild branches
- MSIX signing becomes conditional based on the
OfficialBuildparameter - Channel selection forces rebuild branches to use the Preview channel
- Deployment script excludes LTS packages for rebuild versions
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
.pipelines/templates/rebuild-branch-check.yml |
New template that detects rebuild branches using regex pattern and sets output variable |
.pipelines/templates/packaging/windows/package.yml |
Windows packaging - adds rebuild check and skips LTS packages for rebuild branches |
.pipelines/templates/mac-package-build.yml |
macOS packaging - adds rebuild check and skips LTS packages for rebuild branches |
.pipelines/templates/linux-package-build.yml |
Linux packaging - adds rebuild check and skips LTS packages for rebuild branches |
.pipelines/templates/package-create-msix.yml |
MSIX creation - adds OfficialBuild parameter for conditional signing and formatting cleanup |
.pipelines/templates/channelSelection.yml |
Channel selection - forces rebuild branches to Preview channel |
.pipelines/PowerShell-Packages-Official.yml |
Official pipeline - passes OfficialBuild parameter to MSIX template |
.pipelines/PowerShell-Coordinated_Packages-Official.yml |
Coordinated pipeline - adds rebuild check for release.json creation |
.pipelines/EV2Specs/ServiceGroupRoot/Shell/Run/Run.ps1 |
Deployment script - excludes LTS packages for rebuild versions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
jshigetomi
approved these changes
Nov 10, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
jshigetomi
approved these changes
Nov 10, 2025
TravisEz13
added a commit
to TravisEz13/PowerShell
that referenced
this pull request
Nov 11, 2025
…26415) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
5 tasks
adityapatwardhan
pushed a commit
to adityapatwardhan/PowerShell
that referenced
this pull request
Dec 2, 2025
…26415) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
9 tasks
adityapatwardhan
pushed a commit
to adityapatwardhan/PowerShell
that referenced
this pull request
Dec 5, 2025
…26415) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
9 tasks
SIRMARGIN
pushed a commit
to SIRMARGIN/PowerShell
that referenced
this pull request
Dec 12, 2025
…26415) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
kilasuit
pushed a commit
to kilasuit/PowerShell
that referenced
this pull request
Jan 2, 2026
…26415) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.
This pull request introduces improved handling for "rebuild" branches across the build and packaging pipelines. The main goal is to ensure that rebuild branches are not treated as LTS (Long Term Support) releases, and that LTS packages are not built or published from these branches. The changes also add better diagnostics and parameterization for official builds.
Key changes include:
Rebuild Branch Detection and Propagation:
rebuild-branch-check.yml, which detects if the current branch is a rebuild branch and sets an output variable (IsRebuildBranch) for use in other templates and scripts.linux-package-build.yml,mac-package-build.yml,packaging/windows/package.yml, andPowerShell-Coordinated_Packages-Official.yml), ensuring consistent detection across platforms. [1] [2] [3] [4]LTS Handling Adjustments:
IsRebuildBranchvariable before marking a build as LTS or adding LTS packages. [1] [2] [3] [4] [5] [6]Channel and Preview Logic Improvements:
Pipeline Parameterization and Diagnostics:
package-create-msix.ymltemplate to accept anOfficialBuildparameter and only sign MSIX bundles for official builds. Added more verbose logging and a debug step to check variable values during the pipeline. [1] [2] [3] [4]These changes collectively ensure that rebuild branches are handled safely and consistently, preventing accidental LTS releases and improving traceability in the build process.