5 Specify the release version.
11 Check issues at https://github.com/Icinga/icinga2
16 $ ./pick.py -V $VERSION
18 The script creates a new branch 'auto-merged-<VERSION>' which is based on the
19 current support branch. It then merges all commits from the 'master' branch which
20 reference a ticket for the version that was specified.
22 If there are any merge commits you will need to manually fix them and continue the
23 rebase until no commits are left:
25 $ git rebase --continue
27 After finishing the rebase the branch needs to be merged into the support branch:
29 $ git checkout support/2.6
30 $ git merge --ff-only auto-merged-2.6.1
34 Update the [.mailmap](.mailmap) and [AUTHORS](AUTHORS) files:
37 $ git log --use-mailmap | grep ^Author: | cut -f2- -d' ' | sort | uniq > AUTHORS
41 Update the version number in the following file:
43 * [icinga2.spec]: Version: (.*)
47 gsed -i "s/Version: .*/Version: $VERSION/g" icinga2.spec
51 Update the [ChangeLog](ChangeLog), [doc/1-about.md](doc/1-about.md) files using
52 the changelog.py script. Also generate HTML for the wordpress release announcement.
53 You need to copy and paste the output manually.
57 $ ./changelog.py -V $VERSION
61 $ ./changelog.py -V $VERSION -l
65 $ ./changelog.py -V $VERSION -H -l
69 Commit these changes to the "master" branch:
71 $ git commit -v -a -m "Release version $VERSION"
73 For minor releases: Cherry-pick this commit into the "support" branch.
75 Create a signed tag (tags/v<VERSION>) on the "master" branch (for major
76 releases) or the "support" branch (for minor releases).
80 $ git tag -u EE8E0720 -m "Version $VERSION" v$VERSION
84 $ git tag -u D14A1F16 -m "Version $VERSION" v$VERSION
90 For major releases: Create a new "support" branch:
93 $ git checkout -b support/2.6
94 $ git push -u origin support/2.6
96 For minor releases: Push the support branch, cherry-pick the release commit
97 into master and merge the support branch:
99 $ git push -u origin support/2.6
100 $ git checkout master
101 $ git cherry-pick support/2.6
102 $ git merge --strategy=ours support/2.6
103 $ git push origin master
105 # External Dependencies
109 * Verify package build changes for this version.
110 * Test the snapshot packages for all distributions beforehand.
111 * Build the newly created Git tag for Debian/RHEL/SuSE.
112 * Build the newly created Git tag for Windows.
116 * Test DB IDO with MySQL and PostgreSQL.
117 * Provision the vagrant boxes and test the release packages.
118 * Test the [setup wizard](http://packages.icinga.com/windows/) inside a Windows VM.
120 * Start a new docker container and install/run icinga2.
124 $ docker run -ti centos:latest bash
126 # yum -y install http://packages.icinga.com/epel/7/release/noarch/icinga-rpm-release-7-1.el7.centos.noarch.rpm
127 # yum -y install icinga2
130 # systemctl start icinga2
131 # tail -f /var/log/icinga2/icinga2.log
135 Create a new release for the newly created Git tag.
136 https://github.com/Icinga/icinga2/releases
140 Navigate to the git repository on your Windows box which
141 already has chocolatey installed. Pull/checkout the release.
143 Create the nupkg package:
147 Install the created icinga2 package locally:
149 choco install icinga2 -version 2.6.1 -fdv "%cd%" -source "'%cd%;https://chocolatey.org/api/v2/'"
151 Upload the package to [chocolatey](https://chocolatey.org/packages/upload).
153 ## Online Documentation
155 SSH into the web box, navigate into `icinga2-latest/module/icinga2`
156 and pull the current support branch.
160 * Create a new blog post on www.icinga.com/blog
161 * Send announcement mail to icinga-announce@lists.icinga.org
162 * 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)
163 * Update IRC channel topic
167 * Add new minor version
168 * Close the released version
169 * Update Redmine filters for the next major/minor version