2.7 KiB
2.7 KiB
Releasing
This document is aimed at Maintainers and describes how to release a new version of the packages contained in this repository. We aim to eventually automate this process as much as possible.
1. Create a release PR
- Go to the Release PR Workflow
- Click "Run workflow"
- For
Release Type, select if you want to create a release PR for a newminororpatchversion. - For
Release Scope, select if you want to releaseexperimental(all packages under./experimental/packages)sdk(all packages under./packages/and./experimental/packages)all(all packages under./api/,./packages/and./experimental/packages; excludes./semantic-conventions/)semconv(the single semconv package at./semantic-conventions/)
[!TIP] If there was a commit to
main, after PR creation simply run the workflow again before merging it. Re-running it will update the PR with the contents frommainand will update the PR body too.
2. Review and merge the release PR
- Review the PR generated via the workflow (it will be titled
chore: prepare next releaseand opened by the @opentelemetrybot user) - Once approved, merge the PR
3. Publish to NPM
[!IMPORTANT] This step will publish anything that's on
mainIF AND ONLY IF the version has been bumped. If the version for a package has not been bumped, it will not publish a new version of the package.
- Go to the NPM publish workflow
- Click "Run workflow" (from main)
- In rare cases not all packages are published due to a race when publishing, if you suspect this to be the case, re-run the workflow: there should be enough time from 1.
4. Create GitHub Releases
- Check out the commit created by merging the release PR
- Run
npm run _github:draft_release:experimental, if you published anall,sdkorexperimentalreleasenpm run _github:draft_release:stable, if you published anallorsdkreleasenpm run _github:draft_release:semconv, if you published asemconvreleasenpm run _github:draft_release:apiif you published anallrelease
- Verify that the contents of the created draft releases (title, changelog, selected commit)
- Publish the releases
- uncheck
Set as a pre-releasefor all releases - uncheck
Set as the latest releasefor all releases except for thestableSDK release. This will ensure that thestableSDK release consistently shows up as latest underReleaseswhen navigating to the project page.
- uncheck