Merge pull request #1469 from sni/master
[monitoring-plugins.git] / doc / RELEASING.md
blob1f9db0789c4fce06304d74220f90503cd8fc4a32
1 Releasing a New Monitoring Plugins Version
2 ==========================================
4 Throughout this document, it is assumed that the current Monitoring
5 Plugins version is 2.2.1, and that we're about to publish version 2.3.
6 It is also assumed that the official repository on GitHub is tracked
7 using the remote name `monitoring-plugins` (rather than `origin`).
9 Before you start
10 ----------------
12 - Check Travis CI status.
13 - Update local Git repository to the current `master` tip.  For a
14   maintenance release (e.g., version 2.2.2), update to the current
15   `maint-2.2` tip, instead.
17 Prepare and commit files
18 ------------------------
20 - Update `configure.ac` and `NP-VERSION-GEN` with new version.
21 - Update `NEWS` from `git log --reverse v2.2.1..` output, and specify
22   the release version/date.
23 - Update `AUTHORS` if there are new team members.
24 - Update `THANKS.in` using `tools/update-thanks`.
25 - Commit the results:
27         git commit configure.ac NP-VERSION-GEN NEWS AUTHORS THANKS.in
29 Create annotated tag
30 --------------------
32     git tag -a -m 'Monitoring Plugins 2.3' v2.3
34 Push the code and tag to GitHub
35 -------------------------------
37     git push monitoring-plugins master
38     git push monitoring-plugins v2.3
40 Create new maintenance branch
41 -----------------------------
43 _Only necessary when creating a feature release._
45     git checkout -b maint-2.3 v2.3
46     git push -u monitoring-plugins maint-2.3
48 Checkout new version
49 --------------------
51     rm -rf /tmp/plugins
52     git archive --prefix=tmp/plugins/ v2.3 | (cd /; tar -xf -)
54 Build the tarball
55 -----------------
57     cd /tmp/plugins
58     tools/setup
59     ./configure
60     make dist
62 Upload tarball to web site
63 --------------------------
65     scp monitoring-plugins-2.3.tar.gz \
66         plugins@orwell.monitoring-plugins.org:web/download/
68 Generate SHA1 checksum file on web site
69 ---------------------------------------
71     ssh plugins@orwell.monitoring-plugins.org \
72         '(cd web/download; $HOME/bin/create-checksum monitoring-plugins-2.3.tar.gz)'
74 Announce new release
75 --------------------
77 - In the site.git repository:
79     - Create `web/input/news/release-2-3.md`.
80     - Update the `plugins_release` version in `web/macros.py`.
81     - Commit and push the result:
83             git add web/input/news/release-2-3.md
84             git commit web/input/news/release-2-3.md web/macros.py
85             git push origin master
87 - Post an announcement on (at least) the following mailing lists:
89     - <announce@monitoring-plugins.org>
90     - <help@monitoring-plugins.org> (set `Reply-To:` to this one)
92 - Ask the social media department to announce the release on Twitter :-)
94 If you want to mention the number of contributors in the announcement:
96     git shortlog -s v2.2.1..v2.3 | wc -l
98 <!-- vim:set filetype=markdown textwidth=72: -->