This document describes the checklist to publish a release through the GitHub release page. After releasing, a NuGet package will be published to nuget.org for end users.
- Determine a SemVer2-valid version prefixed with the letter
v
for release. For example,v1.0.0-rc.1
. - Create an issue to vote for a new release (see example).
- After the vote passes, draft a release using the determined version as the tag name, targeting the voted commit. A tag will be automatically created from the target commit when the release is published. If the voted commit cannot be found in the recent commits, a release branch (e.g.
release-1.0
) is required to be created from the voted commit and used as the target branch. - Compose and revise the release note and optionally select
Set as a pre-release
depending on the version. - Publish the release on GitHub.
- A workflow will be triggered automatically by tag creation mentioned in the step 3 for publishing the release to NuGet.
- Wait for NuGet to validate the newly released package.
- Announce the release in the community.
Due to many reasons (e.g. publish accidentally, security vulnerability discovered), a version can be retracted by the following steps:
- Determine the version to be retracted.
- Create an issue to vote for the retraction as well as detailed items to be retracted.
- After the vote passes, delete or modify the release as well as the corresponding tag depending on the voted items.
- On
nuget.org
, unlist and / or deprecate the corresponding NuGet package. - Announce the retraction in the community.