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

< Projects‎ | PIM‎ | Akonadi
Jump to: navigation, search
(port changelog section to git)
(Step 7: Dirk)
(10 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
To obtain the full log of all changes since the last release, run the following command or have a look in ''gitk'':
 
To obtain the full log of all changes since the last release, run the following command or have a look in ''gitk'':
  
<code bash>
+
<syntaxhighlight lang="bash">
 
git log vx.y.(z-1)..
 
git log vx.y.(z-1)..
</code>
+
</syntaxhighlight>
  
Finally, update the version number in the top-level CMakeLists.txt and commit/push all your changes.
+
Finally, update the version number in the top-level CMakeLists.txt and Mainpage.dox and commit/push all your changes.
  
 
== Step 2: Tagging/Branching ==
 
== Step 2: Tagging/Branching ==
Line 16: Line 16:
 
Tagging a major (pre-)release, i.e. a release from master is done with the following commands:
 
Tagging a major (pre-)release, i.e. a release from master is done with the following commands:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
git checkout master
 
git checkout master
git tag vx.y.z
+
git tag -a vx.y.z -m "Akonadi x.y.z"
 
git push
 
git push
 
git push --tags
 
git push --tags
</code>
+
</syntaxhighlight>
  
 
For a stable release, that is a release from a stable branch, the command looks like this:
 
For a stable release, that is a release from a stable branch, the command looks like this:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
git checkout x.y
 
git checkout x.y
git tag vx.y.z
+
git tag -a vx.y.z -m "Akonadi x.y.z"
 
git push
 
git push
 
git push --tags
 
git push --tags
</code>
+
</syntaxhighlight>
 
+
 
+
=== 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:
+
 
+
<code bash>
+
svn rm $SVNPROTOCOL://$SVNUSER@svn.kde.org/home/kde/tags/kdesupport-for-4.x/akonadi
+
svn cp $SVNPROTOCOL://$SVNUSER@svn.kde.org/home/kde/tags/akonadi/x.y.z $SVNPROTOCOL://$SVNUSER@svn.kde.org/home/kde/tags/kdesupport-for-4.x/akonadi
+
</code>
+
  
 
=== Creating a new stable branch ===
 
=== Creating a new stable branch ===
 
{{warning|This needs to be ported to Git!}}
 
  
 
A new stable branch is created by the following command:
 
A new stable branch is created by the following command:
  
<code bash>
+
<syntaxhighlight lang="bash">
svn cp $SVNPROTOCOL://$SVNUSER@svn.kde.org/home/kde/trunk/kdesupport/akonadi $SVNPROTOCOL://$SVNUSER@svn.kde.org/home/kde/branches/akonadi/x.y
+
git checkout -b x.y
</code>
+
# do modifications as described above
 +
git push origin x.y
 +
</syntaxhighlight>
  
 
Afterwards perform the following steps:
 
Afterwards perform the following steps:
* increment the version number in trunk
+
* increment the version number in master
* adapt the SVN url in the makechangelog script in the new branch
+
  
 
== Step 3: Tarball Creation ==
 
== Step 3: Tarball Creation ==
Line 62: Line 49:
 
Run the following command to create the tarball:
 
Run the following command to create the tarball:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
git archive --format=tar --prefix=akonadi-x.y.z/ vx.y.z | bzip2 -9  > akonadi-x.y.z.tar.bz2
 
git archive --format=tar --prefix=akonadi-x.y.z/ vx.y.z | bzip2 -9  > akonadi-x.y.z.tar.bz2
</code>
+
</syntaxhighlight>
  
 
== Step 4: Upload ==
 
== 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).
+
Upload the tarball to ftp://upload.kde.org/incoming/, using e.g. the following command:
 +
 
 +
<syntaxhighlight lang="bash">
 +
ftp -u ftp://upload.kde.org/incoming/ akonadi-x.y.z.tar.bz2
 +
</syntaxhighlight>
 +
 
 +
Afterward, create a KDE Sysadmin bug report at https://bugs.kde.org/enter_sysadmin_request.cgi (component "general"), including the following:
 +
 
 +
* SHA-1 and SHA-256 sums for the tarball
 +
* Intended destination for the files uploaded (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).
  
 
== Step 5: Bugzilla ==
 
== Step 5: Bugzilla ==
Line 80: Line 78:
 
TODO
 
TODO
  
== Step 7: Dirk ==
+
== Step 7: <s>Dirk</s>Albert ==
  
Finally, apologize to Dirk for being late again with the release ;-)
+
Finally, apologize to <s>Dirk</s>Albert for being late again with the release ;-)
  
 
[[Category:Akonadi]] [[Category:PIM]]
 
[[Category:Akonadi]] [[Category:PIM]]

Revision as of 17:00, 14 October 2012

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

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.

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

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

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 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 bug report at https://bugs.kde.org/enter_sysadmin_request.cgi (component "general"), including the following:

  • SHA-1 and SHA-256 sums for the tarball
  • Intended destination for the files uploaded (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).

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: DirkAlbert

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


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal