Difference between revisions of "Projects/PIM/Akonadi/Release Howto"

< Projects‎ | PIM‎ | Akonadi
Jump to: navigation, search
(Update to new sysadmin ticket system.)
(My brain fails to remember this...)
 
Line 1: Line 1:
 
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.
 
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.
 +
 +
== Step 0: Make sure all unit tests pass ==
 +
 +
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?
  
 
== Step 1: Changelog, NEWS, version number ==
 
== Step 1: Changelog, NEWS, version number ==

Latest revision as of 13:53, 4 October 2013

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.

Contents

[edit] Step 0: Make sure all unit tests pass

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?

[edit] Step 1: Changelog, NEWS, version number

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.

[edit] Step 2: Tagging/Branching

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

[edit] Creating a new stable branch

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:

  • increment the version number in master

[edit] Step 3: Tarball Creation

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

[edit] Step 4: Upload

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:

  • Name of the tarball: akonadi-x.y.z.tar.bz2
  • SHA-256 sums for the tarball
  • Intended destination is stable/akonadi/src/.

Wait for the request to be processed (you'll get an email notification) and the mirrors to propagate the new file (~2h).

[edit] Step 5: Bugzilla

Log into http://bugs.kde.org/, chose Edit Products -> Akonadi -> Add version and add the version you just released.

[edit] Step 6: Announcements

Update channel topic on #akonadi.

TODO

[edit] Step 7: DirkAlbert

Finally, apologize to DirkAlbert for being late again with the release ;-)


This page was last modified on 4 October 2013, at 13:53. This page has been accessed 6,562 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal