We currently publish 2 packages from this repository. Each package is versioned separately, and may be released independently. We manage releases via git tags, and we use the following tags for each package:
package | tag |
---|---|
packages/honeycomb-opentelemetry-web | honeycomb-opentelemetry-web-vX.Y.Z |
packages/experimental-opentelemetry-web | experimental-opentelemetry-web-vX.Y.Z |
NOTE: the X.Y.Z
at the end of each tag will be replaced with the version number for that package.
- Checkout the
main
branch and fetch the latestgit checkout main && git fetch
- Checkout a new branch for the release
release-YYYY-MM-DD
(i.e.release-2024-09-16
)git checkout -b release-honeycomb-opentelemetry-web-vX.Y.Z
For EACH package that has changes to release:
cd
into the package you'd like to release i.e.ORcd packages/honeycomb-opentelemetry-web`
cd packages/experimental-opentelemetry-web`
- Clear
node_modules
and install dependenciesrm -rf node_modules
npm ci
- Ensure the package builds
npm run build
- Bump the package version number using
major
,minor
,patch
, or the prerelease variantspremajor
,preminor
, orprepatch
.npm version --no-git-tag-version RELEASE_TYPE vX.Y.Y
- Confirm the version number in the package's
package.json
andpackage-lock.json
. The output ofnpm version
should match theversion
field in bothpackage.json
andpackage-lock.json
. - Update
version.ts
with the new version number. - Update the
CHANGELOG.md
using:`git log --pretty='%C(green)%d%Creset- %s | %an'`
- Copy the latest commits and paste them into the package's
CHANGELOG.md
- Update the author names to GitHub handles
- Copy the latest commits and paste them into the package's
- If any of the upstream OpenTelemetry package versions have changed, update
README.md
with new versions and links.
- Commit your changes, push a release and open a PR on GitHub (i.e.
git commit -am "rel: Releasing honeycomb-opentelemetry-web-v0.7.0, experimental-opentelemetry-web-v0.1.0"
)git commit -am "rel: Releasing TAG_A, TAG_B" git push origin BRANCH
- Make sure the PR title starts with
rel:
to conform with our semantic commits convention - Add the
no-changelog
,type: maintenance
, andversion: no bump
labels
- Make sure the PR title starts with
- Once the pull request is approved, squash-merge it
- Checkout
main
and fetch the now-updatedmain
branch.
For EACH package that needs to be released:
- Create a tag for the new version:
git tag -a honeycomb-opentelemetry-web-vX.Y.Z -m honeycomb-opentelemetry-web-vX.Y.Z
- These tags MUST correspond to the accepted tag prefixes (see Available Tag Prefixes).
- Push the tag upstream:
git push origin TAG
- Publish Release notes
Pushing the tags will kickoff a CI process that will create a draft GitHub release
- Wait for the CI pipeline to finish and ensure the draft exists at: https://github.com/honeycombio/honeycomb-opentelemetry-web/releases
- Click "generate release notes" in GitHub for full changelog notes and at-mention any new contributors
- Publish the GitHub draft release - If it is a prerelease (e.g., beta) click the prerelease checkbox.