Skip to content

Files

59 lines (39 loc) · 2.27 KB

File metadata and controls

59 lines (39 loc) · 2.27 KB

Release Process

  1. Update stability status in config.md if needed.

  2. Update documentation links to refer to a tag instead of main branch.

  3. Update the version in the following files:

  4. Update the CHANGELOG.md with the new release.

  5. Stable release only! Update PublicAPI.Shipped.txt based on corresponding PublicAPI.Unshipped.txt.

  6. Create a pull request with release PR label on GitHub with the changes described in the changelog.

  7. Run the integration tests with Linux containers on Windows and macOS (not covered by CI):

    nuke Workflow
  8. 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.

  9. 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.

  10. Check the status of the release-publish GitHub workflow.

  11. If the release-publish GitHub workflow succeeds, publish the NuGet packages:

    1. Unzip opentelemetry-dotnet-instrumentation-nuget-packages.zip to a local folder.
    2. Upload and publish the packages (.nupkg) and corresponding symbol packages (.snupkg) to nuget.org.
  12. For a stable release, update the version in:

  13. For a stable release, update documentation under opentelemetry.io.