Skip to content

Add nuget release yaml pipelines #3013

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 34 commits into from
Apr 11, 2025
Merged

Add nuget release yaml pipelines #3013

merged 34 commits into from
Apr 11, 2025

Conversation

jviau
Copy link
Contributor

@jviau jviau commented Mar 31, 2025

Issue describing the changes in this PR

resolves #issue_for_this_pr

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

Additional information

Adds release yaml pipelines for all of our nuget packages. These all leverage a template in PR here: https://dev.azure.com/azfunc/internal/_git/engineering/pullrequest/889 (internal only)

Overview

For core & SDK, we have a single pipeline which uses a queue-time selection to release core or sdk. This was done as we intend to eventually merge core and SDK together, which will result in a single release pipeline then anyways.

For all extension packages, there is a pipeline per package.

Selecting the build to be released is done via the queue-time resource selection UI.

Design

These pipelines leverage a template in PR in our internal engineering repo. This template will:

  1. Wait for approval via manual validation
  2. Publish to internal Azure Devops feed
  3. Wait for approval again (this time the pipeline enqueuer can self-approve). This gives an opportunity to validate the packages.
  4. Publish to nuget.org one of two ways (depending on parameters provided):
    1. Directly via a nuget service connection
    2. Via Azure SDK partner pipeline (we use this one). The packages will have been uploaded as part of step 2, and this step will run the pipeline. NOTE: the partner pipeline recently added an approval step as well. To release we will need to go to the enqueued build and approve it once more.

@jviau jviau force-pushed the jviau/eng/release branch from 2bc70de to fd13b95 Compare April 7, 2025 16:11
@jviau jviau force-pushed the jviau/eng/release branch from fd13b95 to 8ae38a3 Compare April 7, 2025 16:20
@jviau jviau merged commit 6d38d5c into main Apr 11, 2025
68 checks passed
@jviau jviau deleted the jviau/eng/release branch April 11, 2025 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants