Skip to content

Latest commit

 

History

History
91 lines (80 loc) · 3.83 KB

RELEASING.md

File metadata and controls

91 lines (80 loc) · 3.83 KB

Releasing

Available Tag Prefixes

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.

Release Steps:

Checkout latest and create a release branch:

  1. Checkout the main branch and fetch the latest
    git checkout main && git fetch
  2. 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

Bump versions and update changelog:

For EACH package that has changes to release:

  1. cd into the package you'd like to release i.e.
    cd packages/honeycomb-opentelemetry-web`
    OR
    cd packages/experimental-opentelemetry-web`
  2. Clear node_modules and install dependencies
    rm -rf node_modules
    npm ci
  3. Ensure the package builds
    npm run build
  4. Bump the package version number using major, minor, patch, or the prerelease variants premajor, preminor, or prepatch.
    npm version --no-git-tag-version RELEASE_TYPE
    vX.Y.Y
  5. Confirm the version number in the package's package.json and package-lock.json. The output of npm version should match the version field in both package.json and package-lock.json.
  6. Update version.ts with the new version number.
  7. 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
  8. If any of the upstream OpenTelemetry package versions have changed, update README.md with new versions and links.

Open the release PR

  1. 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, and version: no bump labels
  2. Once the pull request is approved, squash-merge it
  3. Checkout main and fetch the now-updated main branch.

Create tags and publish release

For EACH package that needs to be released:

  1. Create a tag for the new version:
      git tag -a honeycomb-opentelemetry-web-vX.Y.Z -m honeycomb-opentelemetry-web-vX.Y.Z
  2. Push the tag upstream:
      git push origin TAG
  3. Publish Release notes Pushing the tags will kickoff a CI process that will create a draft GitHub release
    1. Wait for the CI pipeline to finish and ensure the draft exists at: https://github.com/honeycombio/honeycomb-opentelemetry-web/releases
    2. Click "generate release notes" in GitHub for full changelog notes and at-mention any new contributors
    3. Publish the GitHub draft release - If it is a prerelease (e.g., beta) click the prerelease checkbox.