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

< PIM‎ | Akonadi
Jump to: navigation, search
(kdesupport-fox-x.y branches don't exist anymore)
m (Text replace - "<code bash>" to "<syntaxhighlight lang="bash">")
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>
 
</code>
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 vx.y.z
Line 25: Line 25:
 
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 vx.y.z
Line 36: Line 36:
 
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">
 
git checkout -b x.y
 
git checkout -b x.y
 
# do modifications as described above
 
# do modifications as described above
Line 49: 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>
 
</code>

Revision as of 20:42, 29 June 2011

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:

<syntaxhighlight lang="bash"> 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:

<syntaxhighlight lang="bash"> 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:

<syntaxhighlight lang="bash"> git checkout x.y git tag vx.y.z git push git push --tags

Creating a new stable branch

A new stable branch is created by the following command:

<syntaxhighlight lang="bash"> git checkout -b x.y

  1. 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:

<syntaxhighlight lang="bash"> 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 ;-)


Content is available under Creative Commons License SA 4.0 unless otherwise noted.