• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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