HOWTO write the release notes » History » Version 52
David Galloway, 02/15/2022 09:05 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 | git fetch origin nautilus:nautilus |
||
14 | git fetch origin octopus:octopus |
||
15 | git fetch origin pacific:pacific |
||
16 | 31 | David Galloway | cd src/script |
17 | 20 | Nathan Cutler | virtualenv v |
18 | 1 | Loïc Dachary | source v/bin/activate |
19 | 33 | David Galloway | pip3 install githubpy GitPython review requests |
20 | 22 | David Galloway | # Replace 15.2.8 with whatever the previous stable release was |
21 | 1 | Loïc Dachary | # Replace 'octopus' with whatever release you're working on |
22 | 22 | David Galloway | # Replace XXXXX with your GitHub API token |
23 | 44 | David Galloway | python3 ./ceph-release-notes -r tags/v15.2.8..origin/octopus $(git rev-parse --show-toplevel) --token $(cat ~/.github_token) |
24 | 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' |
25 | 9 | Loïc Dachary | deactivate |
26 | 1 | Loïc Dachary | </pre> |
27 | 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!) |
28 | 22 | David Galloway | * Edit <code>doc/releases/RELEASE.rst</code> |
29 | 1 | Loïc Dachary | <pre> |
30 | 22 | David Galloway | vXX.X.X Branch |
31 | ============== |
||
32 | |||
33 | 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 !! |
||
34 | We recommend all users update to this release. |
||
35 | |||
36 | Notable Changes |
||
37 | 1 | Loïc Dachary | --------------- |
38 | 22 | David Galloway | |
39 | * Copy them from here: https://github.com/ceph/ceph/blob/octopus/PendingReleaseNotes |
||
40 | 1 | Loïc Dachary | |
41 | 46 | David Galloway | * A trick to get *just* the notes added since the last release, run `git diff v16.2.4..origin/pacific PendingReleaseNotes` |
42 | |||
43 | 1 | Loïc Dachary | Changelog |
44 | --------- |
||
45 | 22 | David Galloway | |
46 | 29 | David Galloway | * The bullet points output by <code>ceph-release-notes</code> should go here |
47 | 1 | Loïc Dachary | </pre> |
48 | 49 | David Galloway | * You need to also edit <code>doc/releases/index.rst</code> *AND* <code>doc/releases/releases.yml</code> appropriately. |
49 | 40 | David Galloway | * create a pull request with this change and request reviews from: neha-ojha, batrick, jdurgin, liewegas, cbodley, sebastian-philipp, gregsfortytwo |
50 | 29 | David Galloway | |
51 | h3. Release Notes gotchas |
||
52 | |||
53 | * 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 |
||
54 | 22 | David Galloway | <pre> |
55 | 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)(:.*) |
56 | 26 | David Galloway | </pre> |
57 | 29 | David Galloway | the pull request title must be edited to add the required prefix. |
58 | 41 | Yuri Weinstein | * To run the script with githib token in ~/.github_token use *_--token $(cat ~/.github_token)_* |
59 | 22 | David Galloway | |
60 | h1. E-mail Release Notes |
||
61 | |||
62 | <pre> |
||
63 | To: ceph-announce@ceph.io, ceph-users@ceph.io, dev@ceph.io, ceph-maintainers@ceph.io |
||
64 | |||
65 | Title: vXX.X.X RELEASE released |
||
66 | |||
67 | Body: |
||
68 | 48 | 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/2021/vXX-X-X-RELEASE-released |
69 | 22 | David Galloway | |
70 | Notable Changes |
||
71 | --------------- |
||
72 | |||
73 | * Copy bullet points from doc/releases/RELEASE.rst |
||
74 | |||
75 | Getting Ceph |
||
76 | ------------ |
||
77 | * Git at git://github.com/ceph/ceph.git |
||
78 | 39 | David Galloway | * Tarball at https://download.ceph.com/tarballs/ceph-XX.X.X.tar.gz |
79 | 51 | David Galloway | * Containers at https://quay.io/repository/ceph/ceph |
80 | 37 | David Galloway | * For packages, see https://docs.ceph.com/docs/master/install/get-packages/ |
81 | 22 | David Galloway | * Release git sha1: $SHA1 |
82 | </pre> |
||
83 | |||
84 | h1. Website Release Notes |
||
85 | |||
86 | 45 | David Galloway | This will use v14.2.22 as an example. |
87 | 1 | Loïc Dachary | |
88 | 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> |
89 | 1 | Loïc Dachary | <pre> |
90 | 45 | David Galloway | ## EXAMPLE |
91 | |||
92 | (v) dgalloway@p50 script (wip-md)$ python3 ./ceph-release-notes --markdown -r tags/v14.2.21..origin/nautilus $(git rev-parse --show-toplevel) --token $(cat ~/.github_token) |
||
93 | .Considering PR#40121 |
||
94 | .Considering PR#41137 |
||
95 | .Considering PR#41167 |
||
96 | . done collecting merges. |
||
97 | - PendingReleaseNotes: note about 14.2.18 mgr fixes ([pr#40121](https://github.com/ceph/ceph/pull/40121), Josh Durgin) |
||
98 | |||
99 | - bind on loopback address if no other addresses are available ([pr#41137](https://github.com/ceph/ceph/pull/41137), Kefu Chai, Matthew Oliver) |
||
100 | |||
101 | - build python extensions using distutils ([pr#41167](https://github.com/ceph/ceph/pull/41167), Kefu Chai) |
||
102 | 1 | Loïc Dachary | </pre> |
103 | 45 | David Galloway | |
104 | * If you haven't already, clone https://github.com/ceph/ceph.io |
||
105 | <pre> |
||
106 | git checkout main |
||
107 | git pull |
||
108 | git checkout -b 14222 |
||
109 | cp -r src/en/news/blog/2021/v14-2-21-nautilus-released src/en/news/blog/2021/v14-2-22-nautilus-released |
||
110 | vim src/en/news/blog/2021/v14-2-22-nautilus-released/index.md |
||
111 | </pre> |
||
112 | |||
113 | * 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. |
||
114 | |||
115 | <pre> |
||
116 | git add . |
||
117 | git commit -as -m "doc/releases: 14.2.22 Release Notes" |
||
118 | git push origin 14222 |
||
119 | </pre> |
||
120 | |||
121 | * Wait for your https://14222.ceph.io/en/news/blog/2021/v14-2-22-nautilus-released/ to be rendered |
||
122 | * Make sure it looks good. If it does, create a PR |