Notes to myself on all the steps to make for a Ninja release.
-
Run afl-fuzz for a day or so and run ninja_test
-
Consider sending a heads-up to the ninja-build mailing list first
-
Make sure branches 'master' and 'release' are synced up locally
-
Update src/version.cc with new version (with ".git"), then
git commit -am 'mark this 1.5.0.git'
-
git checkout release; git merge master
-
Fix version number in src/version.cc (it will likely conflict in the above)
-
Fix version in doc/manual.asciidoc (exists only on release branch)
-
commit, tag, push (don't forget to push --tags)
git commit -am v1.5.0; git push origin release git tag v1.5.0; git push --tags # Push the 1.5.0.git change on master too: git checkout master; git push origin master
-
Construct release notes from prior notes
credits:
git shortlog -s --no-merges REV..
- Go to Tags
- Open the newly created tag and select "Create release from tag"
- Create the release which will trigger a build which automatically attaches the binaries
- copy old mail
- Make sure your ninja checkout is on the v1.5.0 tag
- Clone https://github.com/ninja-build/ninja-build.github.io
- In that repo,
./update-docs.sh
- Update index.html with newest version and link to release notes
git commit -m 'run update-docs.sh, 1.5.0 release'
git push origin master