PIM/Akonadi/Release Howto: Difference between revisions

From KDE Community Wiki
< PIM‎ | Akonadi
(Update upload section to the new process using KDE infrastructure rather than Tom's server.)
m (38 revisions imported)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.
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 0: Make sure all unit tests pass ==
Run make test every time before committing and especially before making a release to avoid the embarassing emails from Jenkins. Seriously, how hard is it to remember this?


== Step 1: Changelog, NEWS, version number ==
== Step 1: Changelog, NEWS, version number ==
Line 18: Line 22:
<syntaxhighlight lang="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
Line 27: Line 31:
<syntaxhighlight lang="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
Line 44: Line 48:
Afterwards perform the following steps:
Afterwards perform the following steps:
* increment the version number in master
* increment the version number in master
== Step 2.5: Get translations ==
Ping Albert, he will show you how to do it. Then update this guide so that we don't have to ping him again.


== Step 3: Tarball Creation ==
== Step 3: Tarball Creation ==
Line 55: Line 63:
== Step 4: Upload ==
== Step 4: Upload ==


Upload the tarball to ftp://upload.kde.org/incoming/. Afterward, create a KDE Sysadmin bug report at https://bugs.kde.org/enter_sysadmin_request.cgi - including the following:
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 ticket at https://sysadmin.kde.org/tickets/ (department "download.kde.org") and fill in the following information in the form:
* Name of the tarball: akonadi-x.y.z.tar.bz2
* SHA-256 sums for the tarball
* Intended destination is stable/akonadi/src/.


* SHA-1 and SHA-256 sums for the files uploaded so we can verify the files.
Wait for the request to be processed (you'll get an email notification) and the mirrors to propagate the new file (~2h).
* Intended destination for the files uploaded (stable/akonadi/src/).


== Step 5: Bugzilla ==
== Step 5: Bugzilla ==
Line 70: Line 86:
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]]

Latest revision as of 13:01, 11 March 2016

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 0: Make sure all unit tests pass

Run make test every time before committing and especially before making a release to avoid the embarassing emails from Jenkins. Seriously, how hard is it to remember this?

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 2.5: Get translations

Ping Albert, he will show you how to do it. Then update this guide so that we don't have to ping him again.

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 ticket at https://sysadmin.kde.org/tickets/ (department "download.kde.org") and fill in the following information in the form:

  • Name of the tarball: akonadi-x.y.z.tar.bz2
  • SHA-256 sums for the tarball
  • Intended destination is 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 ;-)