-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Add rebuild branch support with conditional MSIX signing #26415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add rebuild branch support with conditional MSIX signing #26415
Conversation
Enables rebuild branches to skip LTS packaging and conditionally sign MSIX packages.
There was a problem hiding this 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 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.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…26415) Co-authored-by: Copilot <[email protected]>
…26415) Co-authored-by: Copilot <[email protected]>
…26415) Co-authored-by: Copilot <[email protected]>
…26415) Co-authored-by: Copilot <[email protected]>
…26415) Co-authored-by: Copilot <[email protected]>
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.