summaryrefslogtreecommitdiffstats
path: root/doc/RELEASING.md
blob: f755d610d7a3ce7c9c449ef1ac20762be9bae27d (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Releasing a New Monitoring Plugins Version
==========================================

Throughout this document, it is assumed that the current Monitoring
Plugins version is 2.2.1, and that we're about to publish version 2.3.

Before you start
----------------

- Check Travis CI status.
- Update local Git repository to the current `master` tip.  For a
  maintenance release (e.g., version 2.2.2), update to the current
  `maint-2.2` tip, instead.

Prepare and commit files
------------------------

- Update `NEWS` from `git log --reverse v2.2.1..` output, and specify
  the release version/date.
- Update `configure.ac` and `NP-VERSION-GEN` with new version.
- Update `AUTHORS` if there are new team members.
- Update `THANKS.in`:

    tools/update-thanks

- Commit the results:

    git commit configure.ac NP-VERSION-GEN AUTHORS THANKS.in

Create annotated tag
--------------------

    git tag -a v2.3 -m v2.3

Push the code and tag to GitHub
-------------------------------

    git push monitoring-plugins master
    git push monitoring-plugins v2.3

Create new maintenance branch
-----------------------------

_Only necessary when creating a feature release._

    git checkout -b maint-2.3 v2.3
    git push -u monitoring-plugins maint-2.3

Checkout new version
--------------------

    rm -rf /tmp/plugins
    git archive --prefix=tmp/plugins/ v2.3 | (cd /; tar -xf -)

Build the tarball
-----------------

    cd /tmp/plugins
    tools/setup
    ./configure
    make dist

Upload tarball to our web site
------------------------------

    scp monitoring-plugins-2.3.tar.gz \
        plugins@orwell.monitoring-plugins.org:web/download/

Generate SHA1 checksum files on web site
----------------------------------------

    ssh plugins@orwell.monitoring-plugins.org \
        '(cd web/download; \
          $HOME/bin/create-checksum monitoring-plugins-2.3.tar.gz)'

Announce new release
--------------------

- In the site.git repository,

    - create `web/input/news/release-2-3.md`,
    - update the `plugins_release` version in `web/macros.py`, and

    git add web/input/news/release-2-3.md
    git commit web/input/news/release-2-3.md web/macros.py
    git push origin master

- Post an announcement on (at least) the following mailing lists:

    - <announce@monitoring-plugins.org>
    - <help@monitoring-plugins.org> (set `Reply-To:` to this one)

- Ask the social media department to announce the release on Twitter :-)

If you want to mention the number of contributors in the announcement:

    git shortlog -s v2.2.1..v2.3 | wc -l

# vim:set filetype=markdown textwidth=72: