PIM/Akonadi/Release Howto: Difference between revisions
(kdesupport-fox-x.y branches don't exist anymore) |
Neverendingo (talk | contribs) 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'': | ||
< | <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: | ||
< | <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: | ||
< | <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: | ||
< | <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: | ||
< | <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
- 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 ;-)