◐ Shell
clean mode source ↗

[release/v7.5.6] Create LTS pkg and non-LTS pkg for macOS for LTS releases by adityapatwardhan · Pull Request #27162 · PowerShell/PowerShell

Backport of #27039 to release/v7.5.6

Triggered by @adityapatwardhan on behalf of @daxian-dbw

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)

Required tooling change for release/v7.5.6. Enables both LTS and non-LTS packages to be created for macOS in LTS releases. Previously, the pipeline could only create one type. This change separates package creation logic, allowing both package types to be built from a single pipeline run.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Original PR was verified by CI pipeline validation. Backport testing includes:

  • Cherry-pick validation: No merge conflicts detected
  • Template syntax validation: YAML structure preserved
  • Logical flow verification: Changes properly separate LTS vs non-LTS package creation
  • Metadata validation check ensures proper safeguards are in place

CI will validate the pipeline changes on the release branch.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Medium risk due to changes in macOS build pipeline. However, changes are well-scoped to the mac-package-build.yml template and primarily affect only macOS packaging for LTS releases. The added metadata.json validation improves robustness. No changes affect Windows, Linux, or other platforms. The separation of LTS and non-LTS package builds is a logical improvement that reduces complexity.