[release/v7.4.15] Separate Store Package Creation, Skip Polling for Store Publish, Clean up PDP-Media#27228
Conversation
…n up PDP-Media (PowerShell#27024) Co-authored-by: Justin Chung <chungjustin@microsoft.com>
There was a problem hiding this comment.
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_packagestage that creates the StoreBroker package from the signed.msixbundle. - Updated
release-MSIX-Publish.ymlto download the Store package artifact and publish withforce/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 |
There was a problem hiding this comment.
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).
| tsaOptionsFile: .config\tsaoptions.json | ||
| stages: | ||
| - template: ../templates/stages/PowerShell-Packages-Stages.yml | ||
| - template: ./pipelines/templates/stages/PowerShell-Packages-Stages.yml@self |
There was a problem hiding this comment.
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/...).
| - template: ./pipelines/templates/stages/PowerShell-Packages-Stages.yml@self | |
| - template: /.pipelines/templates/stages/PowerShell-Packages-Stages.yml@self |
|
|
||
| variables: | ||
| - template: ../templates/variables/PowerShell-vPack-Variables.yml | ||
| - template: ./pipelines/templates/variables/PowerShell-vPack-Variables.yml@self |
There was a problem hiding this comment.
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/...).
| - template: ./pipelines/templates/variables/PowerShell-vPack-Variables.yml@self | |
| - template: /.pipelines/templates/variables/PowerShell-vPack-Variables.yml@self |
| tsaOptionsFile: .config/tsaoptions.json | ||
| stages: | ||
| - template: ../templates/stages/PowerShell-vPack-Stages.yml | ||
| - template: ./pipelines/templates/stages/PowerShell-vPack-Stages.yml@self |
There was a problem hiding this comment.
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/...).
|
|
||
| variables: | ||
| - template: ../templates/variables/PowerShell-Coordinated_Packages-Variables.yml | ||
| - template: ./pipelines/templates/variables/PowerShell-Coordinated_Packages-Variables.yml@self |
There was a problem hiding this comment.
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/...).
|
|
||
| stages: | ||
| - template: ../templates/stages/PowerShell-Coordinated_Packages-Stages.yml | ||
| - template: ./pipelines/templates/stages/PowerShell-Coordinated_Packages-Stages.yml@self |
There was a problem hiding this comment.
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.
|
|
||
| variables: | ||
| - template: ../templates/variables/PowerShell-Release-Variables.yml | ||
| - template: ./pipelines/templates/variables/PowerShell-Release-Variables.yml@self |
There was a problem hiding this comment.
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/...).
| - template: ./pipelines/templates/variables/PowerShell-Release-Variables.yml@self | |
| - template: /.pipelines/templates/variables/PowerShell-Release-Variables.yml@self |
|
|
||
| stages: | ||
| - template: ../templates/stages/PowerShell-Release-Stages.yml | ||
| - template: ./pipelines/templates/stages/PowerShell-Release-Stages.yml@self |
There was a problem hiding this comment.
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).
| - template: ./pipelines/templates/stages/PowerShell-Release-Stages.yml@self | |
| - template: /.pipelines/templates/stages/PowerShell-Release-Stages.yml@self |
| exit 1 | ||
| } | ||
|
|
||
| Write-Host "##vso[task.setvariable variable=ServiceConnection]$($config.ServiceEndpoint)" |
There was a problem hiding this comment.
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.
| Write-Host "##vso[task.setvariable variable=ServiceConnection]$($config.ServiceEndpoint)" |
|
|
||
| variables: | ||
| - template: ../templates/variables/PowerShell-Release-Azure-Variables.yml | ||
| - template: ./pipelines/templates/variables/PowerShell-Release-Azure-Variables.yml@self |
There was a problem hiding this comment.
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/...).
| - template: ./pipelines/templates/variables/PowerShell-Release-Azure-Variables.yml@self | |
| - template: /.pipelines/templates/variables/PowerShell-Release-Azure-Variables.yml@self |
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
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
Regression
REQUIRED: Check exactly one box.
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 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.