Backport fixes to the release branch. This is currently a manual process.
You need to cherry-pick each commit and open a PR to be merged into the release branch.
`git cherry-pick <commit hash>`
## 3. Update the changelog
- Verify all backported fixes have entries in the CHANGELOG. Cross-reference the commits on the release branch since the last tag (`git log --oneline $(git describe --tags --abbrev=0)..release-vX.Y`) against the CHANGELOG entries.
- Add any missing entries and update the heading from `main / unreleased` to the new patch version (e.g. `v2.10.1`).
- Open a PR with the changelog update to the release branch.
## 4. Create and push the tag
Tag the release branch and push. This triggers the `release` and `docker` workflows in GitHub Actions.
`git tag -a vX.Y.Z -m "vX.Y.Z"`
`git push origin vX.Y.Z`
## 5. Verify CI
Check that all workflows triggered by the tag succeeded:
-`release` — creates the GitHub Release draft and binaries
-`docker` — builds per-arch images and creates multi-arch manifests
-`publish-technical-documentation-release` — syncs docs (may show as failed if docs are already up to date; this is harmless)
## 6. Publish the GitHub Release
In [GitHub Releases](https://github.com/grafana/tempo/releases) there should be a "Draft" release. Add the changelog entries to the release notes. Make sure "Set as the latest release" is checked and hit "Publish release".
## 7. Submit a changelog PR to main
Submit a PR to `main` moving the relevant entries from "main/unreleased" to be under the newly minted version.