xref: /aosp_15_r20/external/google-benchmark/docs/releasing.md (revision dbb99499c3810fa1611fa2242a2fc446be01a57c)
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` and `MODULE.bazel`
12  to the release version you're creating. (This version will be used if benchmark is installed
13  from the archive you'll be creating in the next step.)
14
15```
16project (benchmark VERSION 1.8.0 LANGUAGES CXX)
17```
18
19```
20module(name = "com_github_google_benchmark", version="1.8.0")
21```
22
23* Create a release through github's interface
24    * Note this will create a lightweight tag.
25    * Update this to an annotated tag:
26      * `git pull --tags`
27      * `git tag -a -f <tag> <tag>`
28      * `git push --force --tags origin`
29* Confirm that the "Build and upload Python wheels" action runs to completion
30    * Run it manually if it hasn't run.
31    * IMPORTANT: When re-running manually, make sure to select the newly created `<tag>` as the workflow version in the "Run workflow" tab on the GitHub Actions page.
32