Project

General

Profile

HOWTO write the release notes » History » Version 18

Loïc Dachary, 02/18/2016 08:41 AM

1 13 Loïc Dachary
* git clone http://github.com/ceph/ceph (or git fetch to get the latest stable branch updates). Do *not* checkout the release branch as it does not have the *ceph-release-notes* script
2
* run the following:
3 5 Loïc Dachary
<pre>
4 9 Loïc Dachary
cd ceph/src/script
5
virtualenv v
6
source v/bin/activate
7 6 Abhishek Lekshmanan
pip install githubpy GitPython
8 17 Loïc Dachary
GITHUB_ACCESS_TOKEN=XXXXXXXXXXXXXX ceph-release-notes --strict -r tags/v9.2.1..origin/infernalis $(git rev-parse --show-toplevel)
9 9 Loïc Dachary
deactivate
10 1 Loïc Dachary
</pre>
11 11 Loïc Dachary
* The *ceph-release-notes* script requires that each pull request is prefixed with the component it relates to (mon, osd etc.). If that's not the case, it will display an error message such as
12
<pre>
13 16 Loïc Dachary
ERROR: http://github.com/ceph/ceph/pull/4884 title Keystone PKI token expiration is not enforced does not match ^(?:hammer|infernalis|jewel|kraken): (cli|common|mon|osd|fs|librbd|rbd|fs|mds|objecter|rgw|build/ops|tests|tools|cmake|doc|crush|librados)(:.*)
14 11 Loïc Dachary
</pre>
15
the pull request title must be edited to add the required prefix.
16 15 Loïc Dachary
* add a section in http://docs.ceph.com/docs/master/release-notes/ in the *master* branch of ceph in the "release-notes.rst":https://github.com/ceph/ceph/blob/master/doc/release-notes.rst file with the list of commits. The general idea is that the file on master reflects all releases ever published. The relevant part is then backported so that it also shows in the stable branch. 
17 12 Loïc Dachary
* create a pull request with this change and assign it to the Ceph lead
18
* add the text only version of the release notes as a comment to the pull request
19
<pre>
20 18 Loïc Dachary
GITHUB_ACCESS_TOKEN=XXXXXXXXXXXXXX ceph-release-notes --text --strict -r tags/v9.2.1..origin/infernalis $(git rev-parse --show-toplevel)
21 12 Loïc Dachary
</pre>
22
so that it can conveniently be copy/pasted when sending the mail announcing the release.
23 1 Loïc Dachary
* backport the release notes to the release branch when they are final. Ideally this is done before the point release is published. If not it can be backported shortly afterwards.
24 14 Abhishek Lekshmanan
* add the release to the "timeline":https://github.com/ceph/ceph/blob/master/doc/releases.rst
25 1 Loïc Dachary
* the release notes come with an introduction that "is prepared in a separate file":https://github.com/ceph/ceph/blob/master/PendingReleaseNotes . It can be edited if something significant must not be forgotten and it does not need to well written because it is a draft.
26 10 Loïc Dachary
* the content of the "pending release notes":https://github.com/ceph/ceph/blob/master/PendingReleaseNotes file can be manually added at the beginning of the "release-notes.rst":https://github.com/ceph/ceph/blob/master/doc/release-notes.rst. In theory the person writing the release notes should know about these pending notes so this is just a way to make sure they are not forgotten.