Skip to content

[release/v7.6] Add rebuild branch support with conditional MSIX signing#26559

Closed
adityapatwardhan wants to merge 1 commit intoPowerShell:release/v7.6from
adityapatwardhan:backport/release/v7.6/26415-8b7e493dd
Closed

[release/v7.6] Add rebuild branch support with conditional MSIX signing#26559
adityapatwardhan wants to merge 1 commit intoPowerShell:release/v7.6from
adityapatwardhan:backport/release/v7.6/26415-8b7e493dd

Conversation

@adityapatwardhan
Copy link
Member

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

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

This backports critical rebuild branch detection and handling improvements to prevent accidental LTS releases from rebuild branches. Includes conditional MSIX signing and enhanced pipeline diagnostics.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Original PR added comprehensive rebuild branch detection across all platform build templates. Backport verified by successful cherry-pick and conflict resolution. All changes are to build/packaging pipeline templates with no runtime code changes.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Changes only affect build and packaging pipeline templates. No runtime PowerShell code is modified. The enhancements add safety checks to prevent incorrect LTS package creation and improve diagnostics through better logging.

Merge Conflicts

Resolved conflict in .pipelines/templates/package-create-msix.yml where enhanced variable setting code with verbose logging was missing from release/v7.6 branch. Applied the complete enhancement from original PR.

Copilot AI review requested due to automatic review settings December 2, 2025 23:07
@adityapatwardhan adityapatwardhan requested review from a team and jshigetomi as code owners December 2, 2025 23:07
@adityapatwardhan adityapatwardhan added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Dec 2, 2025
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 critical rebuild branch detection and handling improvements from the main branch (#26415) to the release/v7.6 LTS branch. The changes add safety checks to prevent accidental LTS package creation from rebuild branches (e.g., rebuild/v7.4.13-rebuild.5) and implement conditional MSIX signing based on build type. This is essential infrastructure for managing rebuild workflows that shouldn't be treated as official LTS releases.

Key changes include:

  • New rebuild-branch-check.yml template for consistent rebuild branch detection across all platforms
  • Enhanced LTS package logic that excludes rebuild branches from LTS package creation
  • Conditional MSIX signing that only occurs for official builds
  • Improved diagnostic logging throughout the pipeline templates

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 detects rebuild branches by matching branch name pattern and sets pipeline variable for downstream use
.pipelines/templates/windows-package-build.yml Adds rebuild branch check and prevents LTS package creation for rebuild branches
.pipelines/templates/mac-package-build.yml Adds rebuild branch check and prevents LTS package creation for rebuild branches
.pipelines/templates/linux-package-build.yml Adds rebuild branch check and prevents LTS package creation for rebuild branches
.pipelines/templates/package-create-msix.yml Adds OfficialBuild parameter and conditional signing; enhances variable setting with verbose logging
.pipelines/templates/channelSelection.yml Adds rebuild branch detection with documented regex duplication; forces Preview channel for rebuild branches
.pipelines/PowerShell-Packages-Official.yml Passes OfficialBuild parameter to MSIX template
.pipelines/PowerShell-Coordinated_Packages-Official.yml Adds rebuild branch check to release.json creation to prevent LTS marking
.pipelines/EV2Specs/ServiceGroupRoot/Shell/Run/Run.ps1 Adds rebuild version detection to prevent LTS package publishing

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@adityapatwardhan
Copy link
Member Author

Redoing this backport.

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