-
Update stability status in
config.md
if needed. -
Update documentation links to refer to a tag instead of
main
branch. -
Update the version in the following files:
-
Update the CHANGELOG.md with the new release.
-
Stable release only! Update
PublicAPI.Shipped.txt
based on correspondingPublicAPI.Unshipped.txt
. -
Create a pull request with
release PR
label on GitHub with the changes described in the changelog. -
Run the integration tests with Linux containers on Windows and macOS (not covered by CI):
nuke Workflow
-
Once the pull request has been merged, create a signed tag for the merged commit. You can do this using the following Bash snippet:
TAG='v{new-version-here}' COMMIT='{commit-sha-here}' git tag -s -m $TAG $TAG $COMMIT git push upstream $TAG
After you've pushed the git tag, a
release
GitHub workflow starts. This will create draft release with uploaded artifacts. -
Publish a release in GitHub:
- Use draft created by
release
GitHub workflow. - Use the CHANGELOG.md content in the description.
After you've publish the release, a
release-publish
GitHub workflow starts. - Use draft created by
-
Check the status of the
release-publish
GitHub workflow. -
If the
release-publish
GitHub workflow succeeds, publish the NuGet packages:- Unzip
opentelemetry-dotnet-instrumentation-nuget-packages.zip
to a local folder. - Upload and publish the packages (
.nupkg
) and corresponding symbol packages (.snupkg
) to nuget.org.
- Unzip
-
For a stable release, update the version in:
-
For a stable release, update documentation under opentelemetry.io.