mirror of
https://github.com/google/benchmark.git
synced 2025-01-14 22:00:33 +08:00
a4bcd937b2
* cmake: fix handling the case where `git describe` fails * cmake: fix version recorded in releases If downloaded as a tarball release, there will be no info from git to determine the release, so it ends up v0.0.0. If that's the case, we'll now use the release specified in the project() command, which needs to be updated for each new release. * cmake: add `--tags` to `git describe` That way, lightweight tags will also be taken into account, which should never hurt, but it'll help in cases where, for some mysterious reason or other, annotated tags don't make it into a clone. * update releasing.md
929 B
929 B
How to release
- Make sure you're on master and synced to HEAD
- Ensure the project builds and tests run (sanity check only, obviously)
parallel -j0 exec ::: test/*_test
can help ensure everything at least passes
- Prepare release notes
git log $(git describe --abbrev=0 --tags)..HEAD
gives you the list of commits between the last annotated tag and HEAD- Pick the most interesting.
- Create one last commit that updates the version saved in
CMakeLists.txt
to the release version you're creating. (This version will be used if benchmark is installed from the archive you'll be creating in the next step.)
project (benchmark VERSION 1.5.3 LANGUAGES CXX)
- Create a release through github's interface
- Note this will create a lightweight tag.
- Update this to an annotated tag:
git pull --tags
git tag -a -f <tag> <tag>
git push --force origin