PIM/Akonadi/Release Howto: Difference between revisions

From KDE Community Wiki
< PIM‎ | Akonadi
(partial update to git)
(port changelog section to git)
Line 3: Line 3:
== Step 1: Changelog, NEWS, version number ==
== Step 1: Changelog, NEWS, version number ==


{{warning|This needs to be ported to Git!}}
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'':
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):


<code bash>
<code bash>
sh makechangelog
git log vx.y.(z-1)..
</code>
</code>


That will add all revisions since the last time to the ''ChangeLog'' file.
Finally, update the version number in the top-level CMakeLists.txt and commit/push all your changes.
 
 
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 ==
== Step 2: Tagging/Branching ==

Revision as of 08:20, 20 December 2010

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

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 commit/push 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

Warning

This needs to be ported to Git!


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

Warning

This needs to be ported to Git!


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