Skip to content
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

Checklist For .NET Extensions 8.7 Release (and 9.0 preview 6) #5249

Open
12 of 17 tasks
joperezr opened this issue Jun 27, 2024 · 0 comments
Open
12 of 17 tasks

Checklist For .NET Extensions 8.7 Release (and 9.0 preview 6) #5249

joperezr opened this issue Jun 27, 2024 · 0 comments
Assignees
Milestone

Comments

@joperezr
Copy link
Member

joperezr commented Jun 27, 2024

I'll be out on vacation for the 8.7 release, so this time @RussKie has offered to help performing the release activities. This issue will help as a guide of the steps that need to be taken in order to ship a new release of .NET Extensions.

Shared steps for 8.7 and 9.0 preview 6

  • Once the snap has happened, use the same commit in order to make sure that dev branch is synced to that commit (i.e., there are no pending tracking merges from main to dev)
  • Snap contents of main branch by creating a new release/8.7 branch on 2nd July PST
  • Snap contents of dev branch by creating a new 9.0-preview6 branch on 2nd July PST
  • Send branding PR to main 8.8 --> Branding updates for preview 8 #5260
  • Send branding PR to dev 9.0-preview7 --> [automated] Merge branch 'main' => 'dev' #5261
  • Using https://aka.ms/release-tracker (requires authentication) get the correct BARIDs for both 8.0.7 and 9.0-preview6 releases by downloading the manifests/manifest.json artifact of each of those releases, and then searching for the BARID for the aspnetcore repo.
    Screenshot 2024-06-28 094805
  • Keep track of the used BARIDs
    • 8.7: 229122
    • 9.0p6: 230440

For 9.0 preview 6 release

  • (Do it on GitHub) Send one more PR against release/9.0-preview6 branch that has the changes that are generated after locally running darc update-dependencies --id <BARID_FOR_release/9.0-preview6> which will ensure that the packages we generate will depend on the packages that will get released for both runtime and aspnetcore. --> Update upstream dependencies coherently #5262
  • Once the above PR is merged, the resulting build will be signed and will be the final build to be released with 9.0-preview6

For 8.7 release

  • (Do it in AzDO) Create an internal branch for the 8.7 release: internal/release/8.7 using the public branch as base release/8.7
  • Locally run dotnet update-dependencies --id <BARID_FOR_release/8.0.7> and send an internal PR with the changes against the internal branch internal/release/8.7 --> https://dev.azure.com/dnceng/internal/_git/dotnet-extensions/pullrequest/40899
  • Once that is merged, the resulting build will be signed and will be the final build for 8.7

On release day (9th July PST)

  • Check https://aka.ms/release-tracker and validate the used BARIDs haven't changed.
  • Ask @rbhanda to add you to the release tictoc chat. #5250
  • Once he gives the thumbs up that packages from runtime and aspnetcore have shipped, then you'll be cleared to ship the 8.7 and 9.0 preview 6 packages. For this, all you need is to get an apiKey from NuGet.org (I'll share these steps separately) and then from a cmd you can run the following command: for /f %x in ('dir /s /b *.nupkg') do dotnet nuget push %x -k <your_api_key> -s https://api.nuget.org/v3/index.json. This will loop through all of the contents of the sub folders, grab all the nuget packages, and push them to nuget.org.
  • After packages are released, merge internal changes into main branch (no squash).
  • Tag both of the releases, and for the 8.7 one create a GH release with the auto-generated notes.
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

No branches or pull requests

2 participants