2.8 KiB
Release Process
-
Update stability status in
config.mdif needed. -
Update documentation links to refer to a tag instead of
mainbranch. -
Update the version in the following files:
OpenTelemetry.DotNet.Auto.psm1otel-dotnet-auto-install.shdocs/README.mdbuild/Build.cssrc/Directory.Build.propssrc/OpenTelemetry.AutoInstrumentation/Constants.cssrc/OpenTelemetry.AutoInstrumentation.Native/CMakeLists.txtsrc/OpenTelemetry.AutoInstrumentation.Native/Resource.rcsrc/OpenTelemetry.AutoInstrumentation.Native/otel_profiler_constants.hsrc/OpenTelemetry.AutoInstrumentation.Native/version.h
-
Update the CHANGELOG.md with the new release.
-
Stable release only! Update
PublicAPI.Shipped.txtbased on correspondingPublicAPI.Unshipped.txt. -
Create a pull request with
release PRlabel 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 $TAGAfter you've pushed the git tag, a
releaseGitHub workflow starts. This will create draft release with uploaded artifacts. -
Publish a release in GitHub:
- Use draft created by
releaseGitHub workflow. - Use the CHANGELOG.md content in the description.
After you've publish the release, a
release-publishGitHub workflow starts. - Use draft created by
-
Check the status of the
release-publishGitHub workflow. -
If the
release-publishGitHub workflow succeeds, publish the NuGet packages:- Unzip
opentelemetry-dotnet-instrumentation-nuget-packages.zipto a local folder. - Upload and publish the packages to nuget.org.
- Unzip
-
For a non-RC and non-beta release, update the version in: