- Push a semver tag to main. Something like:
git tag -a v1.2.0-rc.0
git push origin v1.2.0-rc.0
- This will initiate the build process in Github Actions and Drone. The tagged docker image should be available here shortly: https://hub.docker.com/r/grafana/tempo/tags?page=1&ordering=last_updated
- A Github Release Draft should also be available here: https://github.com/grafana/tempo/releases
- Copy over the CHANGELOG entries for the release
- Call out contributors for their work
- Cull unnecessary changes that don't impact the Tempo binary or deployment
- Call out breaking changes!
- Publish the release making sure that "This is a pre-release" is checked.
This document details release procedures for Tempo. Currently it's pretty dang easy.
- Follow all steps in Release Candidates except:
- Drop the
-rc.#
postfix from the tag. For instance usev1.2.0
instead. Something like:git tag -a v1.2.0
git push origin v1.2.0
- Make sure that the "This is a pre-release" is unchecked when publishing the release.
- Drop the
- Submit a PR cleaning up the changelog and moving everything under "main/unreleased" to be under the newly minted version.
- Update helm
- Submit PRs to
github.com/grafana/helm-charts
to update to the newly cut version.- One PR each for the
tempo
,tempo-distributed
andtempo-vulture
helm charts. - Search the chart for the previous version and udpate each version number to current.
- One PR each for the
- Submit PRs to
Patches release should be cut for serious bug fixes or security issues.
-
Check to see if a release branch already exists. The release branch will match the same major and minor versions. If this branch doesn't exist then you will need to create it. See nested instructions.
git checkout release-vX.Y
- Checkout to the release tag we are branching off. e.g.:
git checkout vX.Y.Z
- Create a new branch. It should be named
release-<base version>
.
git checkout -b release-vX.Y
- Checkout to the release tag we are branching off. e.g.:
-
Cherry-pick the commit hash that you want to apply to this release.
git cherry-pick <commit hash>
-
Push the commit
git push
-
Create and push a tag to initiate the release.
git tag -a v1.0.1
git push origin v1.0.1
This triggers the build. -
Follow CHANGELOG procedures above.
-
Update the docs
- Patch release
- Update
version_latest
in_index.md
if patching the current stable release. ./scripts/docs-release.sh tempo vX.Y.Z++ v.X.Y.Z
and thenrm -R content/docs/tempo/v.X.Y.Z
if patching a previous release.- Include the new bug fixes in the release notes in
content/docs/tempo/latest/release-notes
and Tempo's main branch.
- Update
- Patch release
-
Submit a PR to the Helm repo as described above.