PIM/Akonadi/Release Howto
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 1: Changelog, NEWS, version number
Run the makechangelog script in the source directory (which either is trunk or branches/akonadi/<version> depending on if you are doing a major (pre-)release or a minor one):
sh makechangelog
That will add all revisions since the last time to the ChangeLog file.
Next step is to update the NEWS file, run svn diff ChangeLog and summarize the changes for that.
Finally, update the version number in the top-level CMakeLists.txt and commit all your changes.
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 vx.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 vx.y.z
git push
git push --tags
Update the kdesupport-for-4.x tag
It might also be needed to update the latest kdesupport-for-4.x tag with the new release. Use the following commands for that:
svn rm $SVNPROTOCOL://[email protected]/home/kde/tags/kdesupport-for-4.x/akonadi
svn cp $SVNPROTOCOL://[email protected]/home/kde/tags/akonadi/x.y.z $SVNPROTOCOL://[email protected]/home/kde/tags/kdesupport-for-4.x/akonadi
Creating a new stable branch
A new stable branch is created by the following command:
svn cp $SVNPROTOCOL://[email protected]/home/kde/trunk/kdesupport/akonadi $SVNPROTOCOL://[email protected]/home/kde/branches/akonadi/x.y
Afterwards perform the following steps:
- increment the version number in trunk
- adapt the SVN url in the makechangelog script in the new branch
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
Step 4: Upload
Upload the tarball somewhere and notify Tom or Volker to move it to http://download.akonadi-project.org/ (unless you are one of those two, then upload directly).
Step 5: Bugzilla
Log into http://bugs.kde.org/, chose Edit Products -> Akonadi -> Add version and add the version you just released.
Step 6: Announcements
Update channel topic on #akonadi.
TODO
Step 7: Dirk
Finally, apologize to Dirk for being late again with the release ;-)