1# How to release 2 3* Make sure you're on main and synced to HEAD 4* Ensure the project builds and tests run 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`, `MODULE.bazel`, 12 and `bindings/python/google_benchmark/__init__.py` to the release version you're creating. 13 (This version will be used if benchmark is installed from the archive you'll be creating 14 in the next step.) 15 16``` 17# CMakeLists.txt 18project (benchmark VERSION 1.9.0 LANGUAGES CXX) 19``` 20 21``` 22# MODULE.bazel 23module(name = "com_github_google_benchmark", version="1.9.0") 24``` 25 26``` 27# google_benchmark/__init__.py 28__version__ = "1.9.0" 29``` 30 31* Create a release through github's interface 32 * Note this will create a lightweight tag. 33 * Update this to an annotated tag: 34 * `git pull --tags` 35 * `git tag -a -f <tag> <tag>` 36 * `git push --force --tags origin` 37* Confirm that the "Build and upload Python wheels" action runs to completion 38 * Run it manually if it hasn't run. 39