5 Specify the release version.
11 Check the following issue filters:
13 * [Pending backports](https://dev.icinga.org/projects/i2/issues?query_id=41)
14 * [Invalid target version](https://dev.icinga.org/projects/i2/issues?query_id=55)
19 $ ./pick.py -V $VERSION
21 The script creates a new branch 'auto-merged-<VERSION>' which is based on the
22 current support branch. It then merges all commits from the 'master' branch which
23 reference a ticket for the version that was specified.
25 If there are any merge commits you will need to manually fix them and continue the
26 rebase until no commits are left:
28 $ git rebase --continue
30 After finishing the rebase the branch needs to be merged into the support branch:
32 $ git checkout support/2.5
33 $ git merge --ff-only auto-merged-2.5.3
37 Update the [.mailmap](.mailmap) and [AUTHORS](AUTHORS) files:
40 $ git log --use-mailmap | grep ^Author: | cut -f2- -d' ' | sort | uniq > AUTHORS
44 Update the version number in the following file:
46 * [icinga2.spec]: Version: (.*)
50 gsed -i "s/Version: .*/Version: $VERSION/g" icinga2.spec
51 gsed -i "s/<version>.*<\/version>/<version>$VERSION<\/version>/g" icinga2.nuspec
52 gsed -i "s/Icinga2-v.*-/Icinga2-v$VERSION-/g" tools/chocolateyInstall.ps1
56 Update the [ChangeLog](ChangeLog), [doc/1-about.md](doc/1-about.md) files using
57 the changelog.py script. Also generate HTML for the wordpress release announcement.
61 $ ./changelog.py -V $VERSION
65 $ ./changelog.py -V $VERSION -l
69 $ ./changelog.py -V $VERSION -H -l
73 Commit these changes to the "master" branch:
75 $ git commit -v -a -m "Release version $VERSION"
77 For minor releases: Cherry-pick this commit into the "support" branch.
79 Create a signed tag (tags/v<VERSION>) on the "master" branch (for major
80 releases) or the "support" branch (for minor releases).
84 $ git tag -u EE8E0720 -m "Version $VERSION" v$VERSION
88 $ git tag -u D14A1F16 -m "Version $VERSION" v$VERSION
94 For major releases: Create a new "support" branch:
97 $ git checkout -b support/2.5
98 $ git push -u origin support/2.5
100 For minor releases: Push the support branch, cherry-pick the release commit
101 into master and merge the support branch:
103 $ git push -u origin support/2.5
104 $ git checkout master
105 $ git cherry-pick support/2.5
106 $ git merge --strategy=ours support/2.5
107 $ git push origin master
109 # External Dependencies
113 * Update Git tags for the release jobs.
114 * Build the newly created Git tag for Debian/RHEL/SuSE.
115 * Build the newly created Git tag for Windows.
119 * Test DB IDO with MySQL and PostgreSQL.
120 * Provision the vagrant boxes and test the release packages.
121 * Test the [setup wizard](http://packages.icinga.org/windows/) inside a Windows VM.
123 * Start a new docker container and install/run icinga2.
127 $ docker run -ti centos:latest bash
129 # yum -y install http://packages.icinga.org/epel/7/release/noarch/icinga-rpm-release-7-1.el7.centos.noarch.rpm
130 # yum -y install icinga2
133 # systemctl start icinga2
134 # tail -f /var/log/icinga2/icinga2.log
138 Create a new release for the newly created Git tag.
139 https://github.com/Icinga/icinga2/releases
143 Navigate to the git repository on your Windows box which
144 already has chocolatey installed. Pull/checkout the release.
146 Create the nupkg package:
150 Install the created icinga2 package locally:
152 choco install icinga2 -version 2.5.4 -fdv "%cd%" -source "'%cd%;https://chocolatey.org/api/v2/'"
154 Upload the package to [chocolatey](https://chocolatey.org/packages/upload).
156 ## Online Documentation
158 SSH into the web box, navigate into `icinga2-latest/module/icinga2`
159 and pull the current support branch.
163 * Create a new blog post on www.icinga.org/blog
164 * Send announcement mail to icinga-announce@lists.icinga.org
165 * Social media: [Twitter](https://twitter.com/icinga), [Facebook](https://www.facebook.com/icinga), [G+](http://plus.google.com/+icinga), [Xing](https://www.xing.com/communities/groups/icinga-da4b-1060043), [LinkedIn](https://www.linkedin.com/groups/Icinga-1921830/about)
166 * Update IRC channel topic
170 * Add new minor version
171 * Close the released version
172 * Update Redmine filters for the next major/minor version