[release/v7.5.6] Download PMC Packages through `TemplateContext` by daxian-dbw · Pull Request #27335 · PowerShell/PowerShell · GitHub
Skip to content

[release/v7.5.6] Download PMC Packages through TemplateContext#27335

Merged
daxian-dbw merged 1 commit intoPowerShell:release/v7.5.6from
daxian-dbw:backport/release/v7.5.6/27326-63544d18b
Apr 22, 2026
Merged

[release/v7.5.6] Download PMC Packages through TemplateContext#27335
daxian-dbw merged 1 commit intoPowerShell:release/v7.5.6from
daxian-dbw:backport/release/v7.5.6/27326-63544d18b

Conversation

@daxian-dbw
Copy link
Copy Markdown
Member

Backport of #27326 to release/v7.5.6

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)

This backports the Azure pipeline fix that refactors artifact download steps to use templateContext.inputs in the PMC release pipeline. This is required to unblock PMC releases on the v7.5.6 release branch, as the EV2 pipeline no longer allows the DownloadArtifacts task.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

The original PR was validated as part of fixing the 7.4.15 and 7.6.1 PMC releases (PRs #27330 and #27331 which have been merged). This cherry-pick applied cleanly with no conflicts. Pipeline changes are validated when the release pipeline runs against the release branch.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

This is a build/release pipeline YAML change only — no product code or runtime behavior is modified. The same fix has already been successfully applied and merged to the v7.4.15 and v7.6.1 release branches (PRs #27330 and #27331).

Co-authored-by: Justin Chung <chungjustin@microsoft.com>
Copilot AI review requested due to automatic review settings April 22, 2026 21:29
@daxian-dbw daxian-dbw requested a review from a team as a code owner April 22, 2026 21:29
@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 22, 2026
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

Backports a release pipeline update to unblock PMC (packages.microsoft.com) publishing by switching artifact downloads to OneBranch templateContext.inputs (avoiding disallowed DownloadArtifacts/DownloadPipelineArtifact usage in the EV2 environment).

Changes:

  • Refactors release-prep-for-ev2.yml and release-publish-pmc.yml to download required pipeline artifacts via templateContext.inputs.
  • Parameterizes the PMC publish stage (environment/prefix) and adds a skipEv2Push mode to support NonOfficial dry-run validation.
  • Updates Official/NonOfficial Azure release pipelines to run with the new templates (and adds the publish-stage dry-run in NonOfficial).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
.pipelines/templates/release-publish-pmc.yml Adds parameterized stage/job naming and switches to templateContext.inputs for artifact retrieval; introduces skipEv2Push.
.pipelines/templates/release-prep-for-ev2.yml Switches package artifact downloads from explicit download: steps to templateContext.inputs and updates copy logic accordingly.
.pipelines/PowerShell-Release-Official-Azure.yml Updates TSA options path for the Azure Official release pipeline configuration.
.pipelines/NonOfficial/PowerShell-Release-Azure-NonOfficial.yml Updates TSA options path and adds a dry-run publish stage invocation (with skipEv2Push: true).

EndpointProviderType: ApprovalService
ApprovalServiceEnvironment: ${{ parameters.approvalServiceEnvironment }}
ServiceRootPath: '$(Pipeline.Workspace)/EV2Specs/ServiceGroupRoot'
RolloutSpecPath: '$(Pipeline.Workspace)/EV2Specs/ServiceGroupRoot/RolloutSpec.json'
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

When skipEv2Push is true, the compile-time if removes the only step, leaving the job with effectively no steps. This makes the NonOfficial dry-run path unable to actually validate the templateContext.inputs download (and may be rejected by the pipeline engine if it requires at least one step). Consider adding an else branch step that at least enumerates $(Pipeline.Workspace) (or a simple no-op script) so the job always has a step and the download is exercised.

Suggested change

Copilot uses AI. Check for mistakes.
@daxian-dbw daxian-dbw merged commit 7e75c3e into PowerShell:release/v7.5.6 Apr 22, 2026
38 of 39 checks passed
@daxian-dbw daxian-dbw deleted the backport/release/v7.5.6/27326-63544d18b branch April 22, 2026 22:16
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.

3 participants