Skip to content

[release/v7.4.18] Separate NuGet publish into its own stage after pushing the git tag#27648

Open
SeeminglyScience wants to merge 1 commit into
PowerShell:release/v7.4.18from
SeeminglyScience:backport/release/v7.4.18/27611-36cd02b33
Open

[release/v7.4.18] Separate NuGet publish into its own stage after pushing the git tag#27648
SeeminglyScience wants to merge 1 commit into
PowerShell:release/v7.4.18from
SeeminglyScience:backport/release/v7.4.18/27611-36cd02b33

Conversation

@SeeminglyScience

Copy link
Copy Markdown
Contributor

Backport of #27611 to release/v7.4.18

Triggered by @SeeminglyScience 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)

Separates NuGet publishing into its own dedicated pipeline stage that runs after the git tag is pushed and the GitHub release draft is made public. This ensures NuGet packages are only published after the release is official, improving release pipeline correctness and reliability.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

This is a pipeline-only change. The release pipeline stages and template references have been verified. Changes can only be fully validated by running the release pipeline. No unit tests apply to pipeline YAML changes.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Pipeline-only change that refactors release stages without modifying any product code. The change improves sequencing (NuGet publishes after git tag is pushed) and has no impact on the product binaries or runtime behavior.

…owerShell#27611)

Co-authored-by: Justin Chung <chungjustin@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 2, 2026 17:45
@SeeminglyScience SeeminglyScience requested a review from a team as a code owner July 2, 2026 17:45
@SeeminglyScience SeeminglyScience added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Jul 2, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 release-pipeline refactor to ensure NuGet publishing happens in a dedicated stage that runs only after the git tag is pushed and the GitHub draft release is made public, improving release sequencing correctness on release/v7.4.18.

Changes:

  • Split the combined GitHub+NuGet publish stage into PublishGitHubRelease and a new PublishNugetRelease stage that runs after PushGitTagAndMakeDraftPublic.
  • Introduce a new release-Nuget.yml template containing the NuGet push job previously embedded in the GitHub release template.
  • Remove the NuGet publishing job from release-github.yml so it only handles the GitHub draft/release work.

Reviewed changes

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

File Description
.pipelines/templates/stages/PowerShell-Release-Stages.yml Splits GitHub vs NuGet publishing into separate stages and updates stage dependencies/order.
.pipelines/templates/release-Nuget.yml Adds a dedicated NuGet publish job template, driven by skipPublish.
.pipelines/templates/release-github.yml Removes NuGet publish job so the template only creates/manages the GitHub release.

Comment thread .pipelines/templates/stages/PowerShell-Release-Stages.yml
Comment thread .pipelines/templates/stages/PowerShell-Release-Stages.yml
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