eb15fc80dd
* add Rust bindings * clang-format * pre-commit fix * windows static builds * Rust prefers MD on windows * check in lock file to avoid source poisoning * use a rust crate name that isn't taken * add CMake target for running Rust binding tests and integrate into CI * complete crate rename * enable test dependency downloads in Rust bindings CI
1.3 KiB
1.3 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/*_testcan help ensure everything at least passes
- Prepare release notes
git log $(git describe --abbrev=0 --tags)..HEADgives 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,MODULE.bazel,bindings/python/google_benchmark/__init__.py, andbindings/rust/Cargo.tomlto 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.)
# CMakeLists.txt
project (benchmark VERSION 1.9.0 LANGUAGES CXX)
# MODULE.bazel
module(name = "com_github_google_benchmark", version="1.9.0")
# google_benchmark/__init__.py
__version__ = "1.9.0"
# bindings/rust/Cargo.toml
version = "1.9.0"
- Create a release through github's interface
- Note this will create a lightweight tag.
- Update this to an annotated tag:
git pull --tagsgit 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.