summaryrefslogtreecommitdiff
path: root/gnu/llvm/libcxx/utils/google-benchmark/docs/releasing.md
blob: 7a6dfc4017b284405ee201b37b2d663f2ae124ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# How to release

* Make sure you're on main and synced to HEAD
* Ensure the project builds and tests run (sanity check only, obviously)
    * `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` 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.5.3 LANGUAGES CXX)
```

* 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 origin`