extensions
extensions copied to clipboard
Checklist For .NET Extensions 8.7 Release (and 9.0 preview 6)
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
- [x] Once the snap has happened, use the same commit in order to make sure that
devbranch is synced to that commit (i.e., there are no pending tracking merges from main to dev) - [x] Snap contents of
mainbranch by creating a newrelease/8.7branch on 2nd July PST - [x] Snap contents of
devbranch by creating a new9.0-preview6branch on 2nd July PST - [x] Send branding PR to
main8.8--> https://github.com/dotnet/extensions/pull/5260 - [x] Send branding PR to
dev9.0-preview7--> https://github.com/dotnet/extensions/pull/5261 - [x] 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.jsonartifact of each of those releases, and then searching for the BARID for the aspnetcore repo. - [x] Keep track of the used BARIDs
- 8.7: 229122
- 9.0p6: 230440
For 9.0 preview 6 release
- [x] (Do it on GitHub) Send one more PR against
release/9.0-preview6branch that has the changes that are generated after locally runningdarc 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. --> https://github.com/dotnet/extensions/pull/5262 - [x] 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
- [x] (Do it in AzDO) Create an internal branch for the 8.7 release:
internal/release/8.7using the public branch as baserelease/8.7 - [x] Locally run
dotnet update-dependencies --id <BARID_FOR_release/8.0.7>and send an internal PR with the changes against the internal branchinternal/release/8.7--> https://dev.azure.com/dnceng/internal/_git/dotnet-extensions/pullrequest/40899 - [x] 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.
- [ ] #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
mainbranch (no squash). - [ ] Tag both of the releases, and for the 8.7 one create a GH release with the auto-generated notes.