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:
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 ;-)