Skip to content

Update the MSIXBundle-VPack pipeline to create VPack for both LTS and Stable channel packages#27384

Merged
daxian-dbw merged 1 commit intoPowerShell:masterfrom
daxian-dbw:msixbundle-vpack-2
May 5, 2026
Merged

Update the MSIXBundle-VPack pipeline to create VPack for both LTS and Stable channel packages#27384
daxian-dbw merged 1 commit intoPowerShell:masterfrom
daxian-dbw:msixbundle-vpack-2

Conversation

@daxian-dbw
Copy link
Copy Markdown
Member

@daxian-dbw daxian-dbw commented May 1, 2026

PR Summary

Update the MSIXBundle-VPack pipeline to create VPack for both LTS and Stable channel packages.

  • Remove signed individual files from the output directory, to avoid the CredSign error that came from nowhere in the pipeline run on 4/23/26
  • Update the pipeline to handle creating VPack packages for both the LTS and Stable channels
    • Move the pack-sign-create-vpack job to the template create-msixbundle-vpack.yml.
    • Create 2 explicit jobs for creating LTS and Stable VPack packages respectively. The job is guarded by a condition to test if we are supposed to publish to the corresponding channel. The job is skipped if we are not publishing to that channel.
    • Use different VPack package names for those 2 branches -- PowerShell7-LTS.Store.app and PowerShell7-Stable.Store.app

Test pipeline run: https://dev.azure.com/mscodehub/PowerShellCore/_build/results?buildId=675038&view=results
The pipeline skips Bundle_LTS or Bundle_Stable based on tools/metadata.json.

image

NOTE: It's easier to review the PR when ignoring the whitespace changes with ?w=1: https://github.com/PowerShell/PowerShell/pull/27384/changes?w=1

… Stable channel packages

- Remove signed individual files from the output directory, to avoid the CredSign error that came from nowhere in the pipeline run on 4/23/26
- Update the pipeline to handle creating VPack packages for both the LTS and Stable channels
   - Move the pack-sign-create-vpack job to a template
   - Create 2 explicit jobs for creating LTS vpack and stable vpack respectively. The job is guarded by a condition to test if we are supposed to publish to the corresponding channel. The job is skipped if we are not publishing to that channel.
   - Use different VPack package names for those 2 branches -- `PowerShell7-LTS.Store.app` and `PowerShell7-Stable.Store.app`
Copilot AI review requested due to automatic review settings May 1, 2026 18:33
@daxian-dbw daxian-dbw requested review from a team and jshigetomi as code owners May 1, 2026 18:33
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

Note

Copilot was unable to run its full agentic suite in this review.

Updates the MSIXBundle-VPack Azure Pipeline to produce VPack artifacts for both LTS and Stable channels, and restructures the bundling/signing logic via a reusable template.

Changes:

  • Added a new create-msixbundle-vpack.yml template that bundles, signs, and stages MSIXBundle output per channel.
  • Updated the official pipeline to build MSIX packages for the enabled publish channels and run separate LTS/Stable VPack jobs conditionally.
  • Removed an LTS-only gating check and added cleanup of the Signed-$(Runtime) output to avoid signing-related pipeline failures.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
.pipelines/templates/create-msixbundle-vpack.yml New template job to create/sign/stage an MSIXBundle and prepare VPack inputs per channel.
.pipelines/MSIXBundle-vPack-Official.yml Pipeline now computes enabled publish channels from metadata.json and runs per-channel VPack creation via the new template.

Comment thread .pipelines/MSIXBundle-vPack-Official.yml
Comment thread .pipelines/templates/create-msixbundle-vpack.yml
Comment thread .pipelines/templates/create-msixbundle-vpack.yml
Comment thread .pipelines/templates/create-msixbundle-vpack.yml
Comment thread .pipelines/MSIXBundle-vPack-Official.yml
ob_artifactBaseName: 'drop_pack_$(Channel)'
ob_createvpack_enabled: ${{ parameters.createVPack }}
ob_createvpack_packagename: 'PowerShell7-$(Channel).Store.app'
ob_createvpack_owneralias: 'dongbow'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

does it need to be 1 person, or we can put the maintainers security group. Dont really know what that is used for. If they send emails to this, then having it for a DL might be better.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I'm not super sure how this will be used. The PowerShell-vPack-Stages.yml one lists Travis as the only owner for now, so I did the same for this one. I will keep an eye on this and change both of them if we decide to use a security group.

@daxian-dbw daxian-dbw merged commit b4d5395 into PowerShell:master May 5, 2026
44 of 45 checks passed
@daxian-dbw daxian-dbw deleted the msixbundle-vpack-2 branch May 5, 2026 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport-7.4.x-Consider Backport-7.5.x-Consider Backport-7.6.x-Consider 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