1# How to release 2 3* Make sure you're on main and synced to HEAD 4* Ensure the project builds and tests run (sanity check only, obviously) 5 * `parallel -j0 exec ::: test/*_test` can help ensure everything at least 6 passes 7* Prepare release notes 8 * `git log $(git describe --abbrev=0 --tags)..HEAD` gives you the list of 9 commits between the last annotated tag and HEAD 10 * Pick the most interesting. 11* Create one last commit that updates the version saved in `CMakeLists.txt` and the 12 `__version__` variable in `bindings/python/google_benchmark/__init__.py`to the release 13 version you're creating. (This version will be used if benchmark is installed from the 14 archive you'll be creating in the next step.) 15 16``` 17project (benchmark VERSION 1.6.0 LANGUAGES CXX) 18``` 19 20```python 21# bindings/python/google_benchmark/__init__.py 22 23# ... 24 25__version__ = "1.6.0" # <-- change this to the release version you are creating 26 27# ... 28``` 29 30* Create a release through github's interface 31 * Note this will create a lightweight tag. 32 * Update this to an annotated tag: 33 * `git pull --tags` 34 * `git tag -a -f <tag> <tag>` 35 * `git push --force --tags origin` 36