Project

General

Profile

HOWTO write the release notes » History » Version 56

David Galloway, 06/23/2022 05:43 PM

1 42 David Galloway
h1. Release Notes Prerequisites
2 43 David Galloway
3 42 David Galloway
* Obtain a github API token and write it to <code>~/.github_token</code> on your workstation
4
5 22 David Galloway
h1. ceph.git Release Notes
6
7 33 David Galloway
*NOTE:* This will not work for hotfix releases because hotfixes usually don't have a PR.  We backup the original branch, reset the branch to the previous point release, then manually commit the hotfix.  You'll need to do the following process manually in these cases.  grep the release notes files for 'hotfix'
8
9 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
10
* run the following:
11 5 Loïc Dachary
<pre>
12 38 David Galloway
# IF NEEDED
13 55 David Galloway
git fetch --all
14
git checkout main
15 31 David Galloway
cd src/script
16 20 Nathan Cutler
virtualenv v
17 1 Loïc Dachary
source v/bin/activate
18 33 David Galloway
pip3 install githubpy GitPython review requests
19 22 David Galloway
# Replace 15.2.8 with whatever the previous stable release was
20 1 Loïc Dachary
# Replace 'octopus' with whatever release you're working on
21 22 David Galloway
# Replace XXXXX with your GitHub API token
22 56 David Galloway
python3 ./ceph-release-notes  -r tags/v17.2.1..origin/quincy-release $(git rev-parse --show-toplevel) --token $(cat ~/.github_token)
23 52 David Galloway
# NOTE: If this is the first point release of a new major release (e.g., first quincy release), you'd do '-r origin/pacific..origin/quincy'
24 9 Loïc Dachary
deactivate
25 1 Loïc Dachary
</pre>
26 29 David Galloway
* Create a new branch either in your own fork of ceph.git or the actual ceph.git (but be careful and tidy!)
27 22 David Galloway
* Edit <code>doc/releases/RELEASE.rst</code>
28 1 Loïc Dachary
<pre>
29 22 David Galloway
vXX.X.X Branch
30
==============
31
32
This is the Xth backport release in the RELEASE series.  !! If there is a major change, it should be mentioned here.  Ask sage, josh, and neha !!
33
We recommend all users update to this release.
34
35
Notable Changes
36 1 Loïc Dachary
---------------
37 22 David Galloway
38
* Copy them from here: https://github.com/ceph/ceph/blob/octopus/PendingReleaseNotes
39 1 Loïc Dachary
40 46 David Galloway
* A trick to get *just* the notes added since the last release, run `git diff v16.2.4..origin/pacific PendingReleaseNotes`
41
42 1 Loïc Dachary
Changelog
43
---------
44 22 David Galloway
45 29 David Galloway
* The bullet points output by <code>ceph-release-notes</code> should go here
46 1 Loïc Dachary
</pre>
47 49 David Galloway
* You need to also edit <code>doc/releases/index.rst</code> *AND* <code>doc/releases/releases.yml</code> appropriately.
48 53 David Galloway
* create a pull request with this change and request reviews from: neha-ojha, batrick, jdurgin, cbodley, adk3798, gregsfortytwo
49 29 David Galloway
50
h3. Release Notes gotchas
51
52
* 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
53 22 David Galloway
<pre>
54 29 David Galloway
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)(:.*)
55 26 David Galloway
</pre>
56 29 David Galloway
the pull request title must be edited to add the required prefix.
57 41 Yuri Weinstein
* To run the script with githib token in ~/.github_token use *_--token $(cat ~/.github_token)_*
58 22 David Galloway
59
h1. E-mail Release Notes
60
61
<pre>
62
To: ceph-announce@ceph.io, ceph-users@ceph.io, dev@ceph.io, ceph-maintainers@ceph.io
63
64
Title: vXX.X.X RELEASE released
65
66
Body:
67 54 David Galloway
We're happy to announce the Xth backport release in the RELEASE series. !! If there is a major change, it should be mentioned here.  Ask sage, josh, and neha !! We recommend users to update to this release. For a detailed release notes with links & changelog please refer to the official blog entry at https://ceph.io/en/news/blog/2022/vXX-X-X-RELEASE-released
68 22 David Galloway
69
Notable Changes
70
---------------
71
72
* Copy bullet points from doc/releases/RELEASE.rst
73
74
Getting Ceph
75
------------
76
* Git at git://github.com/ceph/ceph.git
77 39 David Galloway
* Tarball at https://download.ceph.com/tarballs/ceph-XX.X.X.tar.gz
78 51 David Galloway
* Containers at https://quay.io/repository/ceph/ceph
79 37 David Galloway
* For packages, see https://docs.ceph.com/docs/master/install/get-packages/
80 22 David Galloway
* Release git sha1: $SHA1
81
</pre>
82
83
h1. Website Release Notes
84
85 54 David Galloway
This will use v17.2.2 as an example.
86 1 Loïc Dachary
87 45 David Galloway
* Use the same <code>ceph-release-notes</code> script from the ceph.git Release Notes section.  Just replace <code>--text</code> with <code>--markdown</code>
88 1 Loïc Dachary
<pre>
89 45 David Galloway
## EXAMPLE
90
91 54 David Galloway
(v) dgalloway@p50 script (wip-md)$ python3 ./ceph-release-notes  --markdown -r tags/v17.2.1..origin/quincy-release $(git rev-parse --show-toplevel) --token $(cat ~/.github_token)
92 45 David Galloway
.Considering PR#40121
93
.Considering PR#41137
94
.Considering PR#41167
95
. done collecting merges.
96
- PendingReleaseNotes: note about 14.2.18 mgr fixes ([pr#40121](https://github.com/ceph/ceph/pull/40121), Josh Durgin)
97
98
- bind on loopback address if no other addresses are available ([pr#41137](https://github.com/ceph/ceph/pull/41137), Kefu Chai, Matthew Oliver)
99
100
- build python extensions using distutils ([pr#41167](https://github.com/ceph/ceph/pull/41167), Kefu Chai)
101 1 Loïc Dachary
</pre>
102 45 David Galloway
103
* If you haven't already, clone https://github.com/ceph/ceph.io
104
<pre>
105
git checkout main
106
git pull
107 54 David Galloway
git checkout -b 1722
108
cp -r src/en/news/blog/2022/v17-2-1-quincy-released src/en/news/blog/2022/v17-2-2-quincy-released
109
vim src/en/news/blog/2022/v17-2-2-quincy-released/index.md
110 45 David Galloway
</pre>
111
112
* Now do all your replacements.  Get the *Notable Changes* from the ceph.git PR.  Get the Changelog from your <code>python3 ./ceph-release-notes  --markdown</code> output above.
113
114
<pre>
115
git add .
116 54 David Galloway
git commit -as -m "doc/releases: 17.2.2 Release Notes"
117
git push origin 1722
118 45 David Galloway
</pre>
119
120 54 David Galloway
* Wait for your https://1722.ceph.io/en/news/blog/2022/v17-2-2-quincy-released/ to be rendered
121 45 David Galloway
* Make sure it looks good.  If it does, create a PR