summaryrefslogtreecommitdiff
path: root/RELEASING.md
diff options
context:
space:
mode:
Diffstat (limited to 'RELEASING.md')
-rw-r--r--RELEASING.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/RELEASING.md b/RELEASING.md
new file mode 100644
index 0000000..4e3a4bd
--- /dev/null
+++ b/RELEASING.md
@@ -0,0 +1,41 @@
+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 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. Go to [Tags](https://github.com/ninja-build/ninja/tags)
+2. Open the newly created tag and select "Create release from tag"
+3. Create the release which will trigger a build which automatically attaches
+ the binaries
+
+### 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`