Our release tags follow the convention v<major>.<minor>.<patch>
. For example,
the v0.1.0
, v0.1.1
).
In this section upstream repository refers to the main opentelemetry-configuration github repository.
Before any push to the upstream repository you need to create a personal access token.
-
Checkout
main
and ensure you are synchronized with main onupstream
.git checkout main git pull upstream main
NOTE: Your local main
branch should have additional commits besides those on
upstream main
.
TODO: include command for ensuring local main is identical to upstream main.
-
For
vMajor.Minor.Patch
tag:- Create and push a tag:
MAJOR=0 MINOR=1 PATCH=0 # Set appropriately for new release git tag -a v$MAJOR.$MINOR.$PATCH -m "Version $MAJOR.$MINOR.$PATCH" git push upstream v$MAJOR.$MINOR.$PATCH
All patch releases should include only bug-fixes, and must avoid adding/modifying the public APIs. To prepare a patch follow the following instructions:
- Checkout the tag corresponding to the version to patch (e.g.
v0.1.0
if producingv0.1.1
) - Cherry-pick the commits to include
- Create and push new tag as described above
TODO: update to include specific commands after performing first patch release
Once deployment is done, go to Github release
page, press
Draft a new release
to write release notes about the new release.
You can use git log upstream/v$MAJOR.$((MINOR-1)).x..upstream/v$MAJOR.$MINOR.x --graph --first-parent
or the Github compare tool
to view a summary of all commits since last release as a reference.
In addition, you can refer to CHANGELOG.md for a list of major changes since last release.
After releasing is done, you need to update the CHANGELOG.md,
adding a heading for the release of the
form ## v{Major}.{Minor}.{Patch} - YYYY-MM-DD
under ## Unreleased
.
Create a PR to mark the new release in CHANGELOG.md on main branch.