Skip to content

[release/v7.4.14] Bring over all changes for MSIX packaging template (#26932)#26933

Merged
jshigetomi merged 2 commits intoPowerShell:release/v7.4.14from
jshigetomi:backportMSIXPackageChanges
Mar 2, 2026
Merged

[release/v7.4.14] Bring over all changes for MSIX packaging template (#26932)#26933
jshigetomi merged 2 commits intoPowerShell:release/v7.4.14from
jshigetomi:backportMSIXPackageChanges

Conversation

@jshigetomi
Copy link
Collaborator

Backport of #26932 to release/v7.4.14

Triggered by @jshigetomi

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)

Reconstructs the MSIX package template to match master

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

@jshigetomi jshigetomi marked this pull request as ready for review March 2, 2026 22:22
@jshigetomi jshigetomi requested a review from a team as a code owner March 2, 2026 22:22
Copilot AI review requested due to automatic review settings March 2, 2026 22:22
@jshigetomi jshigetomi added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Mar 2, 2026
@jshigetomi jshigetomi merged commit 6678772 into PowerShell:release/v7.4.14 Mar 2, 2026
37 of 38 checks passed
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

Backports the MSIX packaging template updates from #26932 into release/v7.4.14, adding explicit Stable/LTS vs Preview handling so the correct Microsoft Store service connection is used when creating StoreBroker packages.

Changes:

  • Sets pipeline variables (LTS, STABLE, PREVIEW) based on ChannelSelection.* values.
  • Splits StoreBroker package creation into separate tasks for Preview vs Stable/LTS with channel-based conditions.
  • Adds a small debug step to print the channel variables after they’re set.
Comments suppressed due to low confidence (1)

.pipelines/templates/package-create-msix.yml:273

  • Same casing inconsistency for the bundle glob here (*.msixBundle vs *.msixbundle elsewhere). Aligning this reduces the chance of missing the bundle due to case-sensitive matching in the task implementation.
        sourceFolder: '$(BundleDir)'
        contents: '*.msixBundle'
        outSBName: 'PowerShellStorePackage'

@@ -224,13 +224,49 @@ jobs:

Write-Host "##vso[task.setvariable variable=ServiceConnection]$($config.ServiceEndpoint)"
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ServiceConnection is being set here, but it’s no longer referenced by any subsequent task inputs/conditions in this template (the store-package tasks now hardcode StoreAppPublish-*). This looks like leftover logic and can be misleading; either remove it or switch the store-package tasks to use $(ServiceConnection) so the selected endpoint is defined in one place.

Suggested change
Write-Host "##vso[task.setvariable variable=ServiceConnection]$($config.ServiceEndpoint)"

Copilot uses AI. Check for mistakes.
Comment on lines +254 to +255
displayName: 'Create StoreBroker Package (Preview)'
condition: eq(variables['PREVIEW'], 'true')
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This condition overrides the default succeeded() behavior. As written, the StoreBroker package task can still run even if earlier steps in the job failed (e.g., failed signing or failed PDP/SBConfig update), as long as PREVIEW is true. Add succeeded() (or and(succeeded(), ...)) to prevent packaging on a failed job.

Copilot uses AI. Check for mistakes.
Comment on lines +266 to +267
displayName: 'Create StoreBroker Package (Stable/LTS)'
condition: or(eq(variables['STABLE'], 'true'), eq(variables['LTS'], 'true'))
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue as the Preview task: this custom condition drops the implicit succeeded() guard, so the Stable/LTS StoreBroker package task may run even after earlier failures if one of these variables is true. Update the condition to include succeeded() (or explicitly choose a different failure behavior).

Copilot uses AI. Check for mistakes.
Comment on lines +259 to +261
sourceFolder: '$(BundleDir)'
contents: '*.msixBundle'
outSBName: 'PowerShellStorePackage'
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The glob pattern uses *.msixBundle (capital B) while the rest of the template consistently uses *.msixbundle. For consistency (and to avoid any task/glob implementation that treats patterns case-sensitively), use the same casing everywhere.

Copilot uses AI. Check for mistakes.
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.

2 participants