benchmark/docs/releasing.md
Matthias Donaubauer efadf67a12
Add possibility to ask for libbenchmark version number (#1004) (#1403)
* Add possibility to ask for libbenchmark version number (#1004)

Add a header which holds the current major, minor, and
patch number of the library. The header is auto generated
by CMake.

* Do not generate unused functions (#1004)

* Add support for version number in bazel (#1004)

* Fix clang format #1004

* Fix more clang format problems (#1004)

* Use git version feature of cmake to determine current lib version

* Rename version_config header to version

* Bake git version into bazel build

* Use same input config header as in cmake for version.h

* Adapt the releasing.md to include versioning in bazel
2022-06-20 09:45:50 +01:00

1.4 KiB

How to release

  • Make sure you're on main and synced to HEAD
  • Ensure the project builds and tests run
    • 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, the __version__ variable in bindings/python/google_benchmark/__init__.py and the default version in .bazelrc 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.6.0 LANGUAGES CXX)
build --workspace_status_command "python workspace_status.py --default_version "1.6.1""
# bindings/python/google_benchmark/__init__.py

# ...

__version__ = "1.6.0"  # <-- change this to the release version you are creating

# ...
  • 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 --tags origin
  • Confirm that the "Build and upload Python wheels" action runs to completion
    • run it manually if it hasn't run