Notes to myself on all the steps to make for a Ninja release.

Push new release branch:
1. Run afl-fuzz for a day or so (see HACKING.md) and run ninja_test
2. Consider sending a heads-up to the ninja-build mailing list first
3. Make sure branches 'master' and 'release' are synced up locally
4. Update src/version.cc with new version (with ".git"), then
       git commit -am 'mark this 1.5.0.git'
5. git checkout release; git merge master
6. Fix version number in src/version.cc (it will likely conflict in the above)
7. Fix version in doc/manual.asciidoc (exists only on release branch)
8. 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
9. Construct release notes from prior notes
   credits: git shortlog -s --no-merges REV..

Release on github:
1. https://github.com/blog/1547-release-your-software
   Add binaries to https://github.com/ninja-build/ninja/releases

Make announcement on mailing list:
1. copy old mail

Update website:
1. Make sure your ninja checkout is on the v1.5.0 tag
2. Clone https://github.com/ninja-build/ninja-build.github.io
3. In that repo, `./update-docs.sh`
4. Update index.html with newest version and link to release notes
5. git commit -m 'run update-docs.sh, 1.5.0 release'
6. git push origin master
