15dda2efdSMircea Trofin# How to release 25dda2efdSMircea Trofin 35dda2efdSMircea Trofin* Make sure you're on main and synced to HEAD 4*a5b79717SMircea Trofin* Ensure the project builds and tests run 55dda2efdSMircea Trofin * `parallel -j0 exec ::: test/*_test` can help ensure everything at least 65dda2efdSMircea Trofin passes 75dda2efdSMircea Trofin* Prepare release notes 85dda2efdSMircea Trofin * `git log $(git describe --abbrev=0 --tags)..HEAD` gives you the list of 95dda2efdSMircea Trofin commits between the last annotated tag and HEAD 105dda2efdSMircea Trofin * Pick the most interesting. 11*a5b79717SMircea Trofin* Create one last commit that updates the version saved in `CMakeLists.txt` and `MODULE.bazel` 12*a5b79717SMircea Trofin to the release version you're creating. (This version will be used if benchmark is installed 13*a5b79717SMircea Trofin from the archive you'll be creating in the next step.) 145dda2efdSMircea Trofin 155dda2efdSMircea Trofin``` 16*a5b79717SMircea Trofinproject (benchmark VERSION 1.8.0 LANGUAGES CXX) 17a290770fSMircea Trofin``` 18a290770fSMircea Trofin 19*a5b79717SMircea Trofin``` 20*a5b79717SMircea Trofinmodule(name = "com_github_google_benchmark", version="1.8.0") 215dda2efdSMircea Trofin``` 225dda2efdSMircea Trofin 235dda2efdSMircea Trofin* Create a release through github's interface 245dda2efdSMircea Trofin * Note this will create a lightweight tag. 255dda2efdSMircea Trofin * Update this to an annotated tag: 265dda2efdSMircea Trofin * `git pull --tags` 275dda2efdSMircea Trofin * `git tag -a -f <tag> <tag>` 28a290770fSMircea Trofin * `git push --force --tags origin` 29*a5b79717SMircea Trofin* Confirm that the "Build and upload Python wheels" action runs to completion 30*a5b79717SMircea Trofin * Run it manually if it hasn't run. 31*a5b79717SMircea Trofin * 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