summaryrefslogtreecommitdiff
path: root/RELEASING.md
blob: 4e3a4bdcc1e30d61e11e019f7cc189ca9fd08072 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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`