How to do a release of the Akonadi server? I ask that myself and then Tom every time I have to do it. So, finally document that here.
Run make test every time before committing and especially before making a release to avoid the embarassing emails from Jenkins. Seriously, how hard is it to remember this?
First, update the NEWS file. It should contain a high-level summary of the changes since the last release. To obtain the full log of all changes since the last release, run the following command or have a look in gitk:
git log vx.y.(z-1)..
Finally, update the version number in the top-level CMakeLists.txt and Mainpage.dox and commit/push all your changes.
Tagging a major (pre-)release, i.e. a release from master is done with the following commands:
git checkout master git tag -a vx.y.z -m "Akonadi x.y.z" git push git push --tags
For a stable release, that is a release from a stable branch, the command looks like this:
git checkout x.y git tag -a vx.y.z -m "Akonadi x.y.z" git push git push --tags
A new stable branch is created by the following command:
git checkout -b x.y # do modifications as described above git push origin x.y
Afterwards perform the following steps:
Ping Albert, he will show you how to do it. Then update this guide so that we don't have to ping him again.
Run the following command to create the tarball:
git archive --format=tar --prefix=akonadi-x.y.z/ vx.y.z | bzip2 -9 > akonadi-x.y.z.tar.bz2
Upload the tarball to ftp://upload.kde.org/incoming/, using e.g. the following command:
ftp -u ftp://upload.kde.org/incoming/ akonadi-x.y.z.tar.bz2
Afterward, create a KDE Sysadmin ticket at https://sysadmin.kde.org/tickets/ (department "download.kde.org") and fill in the following information in the form:
Wait for the request to be processed (you'll get an email notification) and the mirrors to propagate the new file (~2h).
Log into http://bugs.kde.org/, chose Edit Products -> Akonadi -> Add version and add the version you just released.
Update channel topic on #akonadi.
Finally, apologize to
DirkAlbert for being late again with the release ;-)