(mention kdesupport-for-x.y tags) |
(→Step 7: Dirk) |
||
| (22 intermediate revisions by 3 users not shown) | |||
| Line 3: | Line 3: | ||
== Step 1: Changelog, NEWS, version number == | == 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).. | |
| − | + | </syntaxhighlight> | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| + | 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 == | ||
| − | Tagging a major (pre-)release, i.e. a release from | + | 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 -a vx.y.z -m "Akonadi x.y.z" | ||
| + | git push | ||
| + | git push --tags | ||
| + | </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: | ||
| − | < | + | <syntaxhighlight lang="bash"> |
| − | + | git checkout x.y | |
| − | </ | + | git tag -a vx.y.z -m "Akonadi x.y.z" |
| + | git push | ||
| + | git push --tags | ||
| + | </syntaxhighlight> | ||
=== Creating a new stable branch === | === Creating a new stable branch === | ||
| Line 39: | 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 | |
| − | </ | + | # 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 | + | * increment the version number in master |
| − | + | ||
== Step 3: Tarball Creation == | == 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 | |
| − | </ | + | </syntaxhighlight> |
| − | + | == Step 4: Upload == | |
| − | + | 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 124: | Line 78: | ||
TODO | TODO | ||
| − | + | == Step 7: <s>Dirk</s>Albert == | |
| − | + | ||
| − | == Step 7: Dirk == | + | |
| − | 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]] | ||
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 |
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.
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
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:
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
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:
Wait for the request to be processed (you'll get an email notification) and the mirrors to propagate the new file (~2h).
Log into http://bugs.kde.org/, chose Edit Products -> Akonadi -> Add version and add the version you just released.
Update channel topic on #akonadi.
TODO
Finally, apologize to DirkAlbert for being late again with the release ;-)