Skip to content

[release/v7.4.15] Separate Store Package Creation, Skip Polling for Store Publish, Clean up PDP-Media#27228

Merged
daxian-dbw merged 2 commits intoPowerShell:release/v7.4.15from
daxian-dbw:backport/release/v7.4.15/27024-45a80d9a4
Apr 9, 2026
Merged

[release/v7.4.15] Separate Store Package Creation, Skip Polling for Store Publish, Clean up PDP-Media#27228
daxian-dbw merged 2 commits intoPowerShell:release/v7.4.15from
daxian-dbw:backport/release/v7.4.15/27024-45a80d9a4

Conversation

@daxian-dbw
Copy link
Copy Markdown
Member

Backport of #27024 to release/v7.4.15

Triggered by @daxian-dbw on behalf of @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)

Refactors the store packaging and publish pipeline for release/v7.4.15 by separating store package creation, simplifying artifact flow, and improving store publish behavior.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

The backport cherry-pick completed on release/v7.4.15 with one YAML conflict resolved in the Store publish template. The change set matches the original pipeline refactor and will be validated by CI on the backport PR, including the updated store packaging and publish stages.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

High risk because this changes release packaging and store-publish infrastructure, but it is necessary to keep the store release workflow aligned with the current packaging process for v7.4.15.

Merge Conflicts

Resolved one conflict in .pipelines/templates/release-MSIX-Publish.yml. The release branch already contained the broader refactor, so the backport only needed to add the intended 'skipPolling: true' setting to the Preview Store publish task while preserving the release/v7.4.15 template structure.

…n up PDP-Media (PowerShell#27024)

Co-authored-by: Justin Chung <chungjustin@microsoft.com>
@daxian-dbw daxian-dbw added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Apr 9, 2026
@daxian-dbw daxian-dbw requested a review from a team as a code owner April 9, 2026 07:02
Copilot AI review requested due to automatic review settings April 9, 2026 07:02
Copy link
Copy Markdown
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

Backport of the Store packaging/publish pipeline refactor to release/v7.4.15, separating StoreBroker package creation into its own stage/template, updating the Store publish job to consume the new artifact and skip polling, and cleaning up Store PDP metadata/assets.

Changes:

  • Added a dedicated store_package stage that creates the StoreBroker package from the signed .msixbundle.
  • Updated release-MSIX-Publish.yml to download the Store package artifact and publish with force/deletePackages/skipPolling.
  • Removed StoreBroker creation logic from the MSIX bundle creation job and cleaned up PDP XML entries.

Reviewed changes

Copilot reviewed 10 out of 18 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
.pipelines/templates/stages/PowerShell-Packages-Stages.yml Adds store_package stage after msixbundle.
.pipelines/templates/package-store-package.yml New template to generate StoreBroker package + upload as pipeline artifact content.
.pipelines/templates/release-MSIX-Publish.yml Publishes from StoreBroker artifact and enables skipPolling (plus force/deletePackages).
.pipelines/templates/package-create-msix.yml Removes StoreBroker creation responsibilities from MSIX bundle job.
.pipelines/store/PDP/PDP/en-US/PDP.xml Removes screenshot caption entries and an additional icon reference.
.pipelines/NonOfficial/PowerShell-vPack-NonOfficial.yml Updates template include paths (currently broken: ./pipelines/...).
.pipelines/NonOfficial/PowerShell-Release-NonOfficial.yml Updates template include paths (currently broken: ./pipelines/...).
.pipelines/NonOfficial/PowerShell-Release-Azure-NonOfficial.yml Updates template include path (currently broken: ./pipelines/...).
.pipelines/NonOfficial/PowerShell-Packages-NonOfficial.yml Updates template include paths (currently broken: ./pipelines/...).
.pipelines/NonOfficial/PowerShell-Coordinated_Packages-NonOfficial.yml Updates template include paths (currently broken: ./pipelines/...).


variables:
- template: ../templates/variables/PowerShell-Packages-Variables.yml
- template: ./pipelines/templates/variables/PowerShell-Packages-Variables.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The template path ./pipelines/templates/... points to a pipelines/ directory that doesn't exist in this repo (templates live under .pipelines/templates). This will break YAML template resolution for the NonOfficial pipeline. Use /.pipelines/templates/...@self (or revert to the prior ../templates/... relative path).

Copilot uses AI. Check for mistakes.
tsaOptionsFile: .config\tsaoptions.json
stages:
- template: ../templates/stages/PowerShell-Packages-Stages.yml
- template: ./pipelines/templates/stages/PowerShell-Packages-Stages.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The stage template include uses ./pipelines/templates/..., but the repository directory is .pipelines/. This path will not resolve and will cause the pipeline to fail at compile time; use /.pipelines/templates/...@self (or the prior ../templates/...).

Suggested change
- template: ./pipelines/templates/stages/PowerShell-Packages-Stages.yml@self
- template: /.pipelines/templates/stages/PowerShell-Packages-Stages.yml@self

Copilot uses AI. Check for mistakes.

variables:
- template: ../templates/variables/PowerShell-vPack-Variables.yml
- template: ./pipelines/templates/variables/PowerShell-vPack-Variables.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The variables template include uses ./pipelines/templates/..., but the repo uses .pipelines/templates. As written, the pipeline won't be able to find the template. Update the path to /.pipelines/templates/variables/PowerShell-vPack-Variables.yml@self (or revert to ../templates/...).

Suggested change
- template: ./pipelines/templates/variables/PowerShell-vPack-Variables.yml@self
- template: /.pipelines/templates/variables/PowerShell-vPack-Variables.yml@self

Copilot uses AI. Check for mistakes.
tsaOptionsFile: .config/tsaoptions.json
stages:
- template: ../templates/stages/PowerShell-vPack-Stages.yml
- template: ./pipelines/templates/stages/PowerShell-vPack-Stages.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The stages template include uses ./pipelines/templates/... (missing the leading dot). This will fail template expansion because the directory is .pipelines/. Use /.pipelines/templates/stages/PowerShell-vPack-Stages.yml@self (or revert to ../templates/...).

Copilot uses AI. Check for mistakes.

variables:
- template: ../templates/variables/PowerShell-Coordinated_Packages-Variables.yml
- template: ./pipelines/templates/variables/PowerShell-Coordinated_Packages-Variables.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The variables template include uses ./pipelines/templates/..., but templates are under .pipelines/. This path will fail template resolution; update to /.pipelines/templates/variables/PowerShell-Coordinated_Packages-Variables.yml@self (or ../templates/...).

Copilot uses AI. Check for mistakes.

stages:
- template: ../templates/stages/PowerShell-Coordinated_Packages-Stages.yml
- template: ./pipelines/templates/stages/PowerShell-Coordinated_Packages-Stages.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The stages template include uses ./pipelines/templates/... instead of /.pipelines/templates/.... This will fail at pipeline compile time because there is no pipelines/ directory at repo root.

Copilot uses AI. Check for mistakes.

variables:
- template: ../templates/variables/PowerShell-Release-Variables.yml
- template: ./pipelines/templates/variables/PowerShell-Release-Variables.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The variables template include path ./pipelines/templates/... does not exist in this repo (directory is .pipelines/). This will break template expansion for the NonOfficial release pipeline; use /.pipelines/templates/variables/PowerShell-Release-Variables.yml@self (or revert to ../templates/...).

Suggested change
- template: ./pipelines/templates/variables/PowerShell-Release-Variables.yml@self
- template: /.pipelines/templates/variables/PowerShell-Release-Variables.yml@self

Copilot uses AI. Check for mistakes.

stages:
- template: ../templates/stages/PowerShell-Release-Stages.yml
- template: ./pipelines/templates/stages/PowerShell-Release-Stages.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The stages template include path ./pipelines/templates/... is missing the leading dot (.pipelines). This will fail template resolution; use /.pipelines/templates/stages/PowerShell-Release-Stages.yml@self (or the prior relative include).

Suggested change
- template: ./pipelines/templates/stages/PowerShell-Release-Stages.yml@self
- template: /.pipelines/templates/stages/PowerShell-Release-Stages.yml@self

Copilot uses AI. Check for mistakes.
exit 1
}

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

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

ServiceConnection is set as a pipeline variable, but it is never referenced later in this template (the StoreBroker tasks hardcode serviceEndpoint). Either use $(ServiceConnection) for the tasks or remove the variable assignment to avoid dead code and confusion.

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

Copilot uses AI. Check for mistakes.

variables:
- template: ../templates/variables/PowerShell-Release-Azure-Variables.yml
- template: ./pipelines/templates/variables/PowerShell-Release-Azure-Variables.yml@self
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

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

The variables template include uses ./pipelines/templates/..., but this repo's directory is .pipelines/. As written, the pipeline won't be able to resolve the template path. Use /.pipelines/templates/variables/PowerShell-Release-Azure-Variables.yml@self (or revert to the previous ../templates/...).

Suggested change
- template: ./pipelines/templates/variables/PowerShell-Release-Azure-Variables.yml@self
- template: /.pipelines/templates/variables/PowerShell-Release-Azure-Variables.yml@self

Copilot uses AI. Check for mistakes.
@daxian-dbw daxian-dbw merged commit 4f26825 into PowerShell:release/v7.4.15 Apr 9, 2026
35 checks passed
@daxian-dbw daxian-dbw deleted the backport/release/v7.4.15/27024-45a80d9a4 branch April 9, 2026 17:10
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.

4 participants