Skip to content

Latest commit

 

History

History
28 lines (23 loc) · 1.48 KB

RELEASE.md

File metadata and controls

28 lines (23 loc) · 1.48 KB

Release

Every major/minor release should come with its own release/vX.Y branch. To create this branch, run dotnet nbgv prepare-release from the master branch. Pass --versionIncrement major if the version being developed after this release is going to involve a major version bump.

Patch-level releases should be done out of the relevant major/minor branch. For example, both 1.0.1 and 1.0.5 should come out of release/v1.0. So, there is no need to run dotnet nbgv prepare-release in this case.

Before tagging a release, run ./cake in the release branch locally on all platforms that you have access to, and do some manual system testing. Verify that nothing has regressed. Also, ensure that the release branch builds and tests successfully on CI.

Next, run dotnet nbgv tag from the release branch to create a release tag, followed by git tag <tag> <tag> -f -m <tag> -s to sign it, and then push it with git push origin <tag>. Again, wait for CI to build and test the tag. If something goes wrong on CI, you can run git tag -d <tag> and git push origin :<tag> to delete the tag until you resolve the issue(s), and then repeat this step.

Finally, to actually publish the release, go to the releases page to create a release from the tag you pushed, ideally with some well-written release notes. Once the release is published, a workflow will build and publish NuGet packages from the tag.