You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/dev/release-process.rst
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ For each new major (alphabetical) release, you must create one ``ceph-release``
27
27
Summarized build process
28
28
========================
29
29
30
-
1. QE finishes testing and finds a stopping point. That commit is pushed to the ``$release-release`` branch in ceph.git (e.g., ``quincy-release``). This allows work to continue in the working ``$release`` branch without having to freeze it during the release process.
30
+
1. QE finishes testing and finds a stopping point. That commit is pushed to the ``$release-release`` branch in ceph.git (e.g., ``squid-release``). This allows work to continue in the working ``$release`` branch without having to freeze it during the release process.
31
31
2. The Ceph Council approves and notifies the "Build Lead".
32
32
3. The "Build Lead" starts the `Jenkins multijob <https://jenkins.ceph.com/view/all/job/ceph>`_, which triggers all builds.
33
33
4. Packages are pushed to chacra.ceph.com.
@@ -44,13 +44,13 @@ Hotfix Release Process Deviation
44
44
45
45
A hotfix release has a couple differences.
46
46
47
-
1. Check out the most recent tag. For example, if we're releasing a hotfix on top of 17.2.3, ``git checkout -f -B quincy-release tags/v17.2.3``.
47
+
1. Check out the most recent tag. For example, if we're releasing a hotfix on top of 19.2.1, ``git checkout -f -B squid-release tags/v19.2.1``.
48
48
2. ``git cherry-pick -x`` the necessary hotfix commits (Note: only "cherry-pick" must be used).
49
-
3. ``git push -f origin quincy-release``.
49
+
3. ``git push -f origin squid-release``.
50
50
4. Verify the commits in the ``$release-release`` branch:
51
51
52
-
1. To check against the previous point release (if we are making 17.2.4, this would be 17.2.3), run ``git log --pretty=oneline --no-merges tags/v17.2.3..origin/quincy-release``. Verify that the commits produced are exactly what we want in the next point release.
53
-
2. To check against the RC in the "ceph-ci" repo (``ceph-ci`` in this example), run ``git log --pretty=oneline --no-merges origin/quincy-release...ceph-ci/quincy-release``. There should be no output produced if the ``$release-release`` branch in the ceph repo is identical to the RC in ``ceph-ci``. Note the use of git `triple dot notation <https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection>`_, which shows any commit discrepencies between both references.
52
+
1. To check against the previous point release (if we are making 19.2.2, this would be 19.2.1), run ``git log --pretty=oneline --no-merges tags/v19.2.1..origin/squid-release``. Verify that the commits produced are exactly what we want in the next point release.
53
+
2. To check against the RC in the "ceph-ci" repo (``ceph-ci`` in this example), run ``git log --pretty=oneline --no-merges origin/squid-release...ceph-ci/squid-release``. There should be no output produced if the ``$release-release`` branch in the ceph repo is identical to the RC in ``ceph-ci``. Note the use of git `triple dot notation <https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection>`_, which shows any commit discrepencies between both references.
54
54
5. Notify the "Build Lead" to start the build.
55
55
6. The "Build Lead" should set ``RELEASE_TYPE=HOTFIX`` instead of ``STABLE``.
56
56
@@ -60,37 +60,37 @@ Security Release Process Deviation
60
60
A security/CVE release is similar to a hotfix release with two differences:
61
61
62
62
1. The fix should be pushed to the `ceph-private <https://github.com/ceph/ceph-private>`_ repo instead of ceph.git (requires GitHub Admin Role).
63
-
2. The tags (e.g., v17.2.4) must be manually pushed to ceph.git by the "Build Lead."
63
+
2. The tags (e.g., v19.2.3) must be manually pushed to ceph.git by the "Build Lead."
64
64
65
-
1. Check out the most recent tag. For example, if we're releasing a security fix on top of 17.2.3, ``git checkout -f -B quincy-release origin/v17.2.3``
65
+
1. Check out the most recent tag. For example, if we're releasing a security fix on top of 19.2.2, ``git checkout -f -B squid-release origin/v19.2.2``
66
66
2. ``git cherry-pick -x`` the necessary security fix commits
6. The "Build Lead" should set ``RELEASE_TYPE=SECURITY`` instead of ``STABLE``.
71
71
7. Finally, the `ceph-tag <https://github.com/ceph/ceph-build/blob/main/ansible/roles/ceph-release/tasks/push.yml>`_ steps need to be manually run by the "Build Lead" as close to the Announcement time as possible::
72
72
73
-
# Example using quincy pretending 17.2.4 is the security release version
73
+
# Example using squid pretending 19.2.3 is the security release version
74
74
# Add the ceph-releases repo (also requires GitHub Admin Role). The `ceph-setup <https://jenkins.ceph.com/job/ceph-setup>`_ job will have already created and pushed the tag to ceph-releases.git.
# Now create a Pull Request of squid-release targeting squid to merge the version commit and security fixes back into the squid branch
82
82
83
83
1. Preparing the release branch
84
84
===============================
85
85
86
-
Once QE has determined a stopping point in the working (e.g., ``quincy``) branch, that commit should be pushed to the corresponding ``quincy-release`` branch.
86
+
Once QE has determined a stopping point in the working (e.g., ``squid``) branch, that commit should be pushed to the corresponding ``squid-release`` branch.
87
87
88
88
Notify the "Build Lead" that the release branch is ready.
89
89
90
90
2. Starting the build
91
91
=====================
92
92
93
-
We'll use a stable/regular 15.2.17 release of Octopus as an example throughout this document.
93
+
We'll use a stable/regular 19.2.2 release of Squid as an example throughout this document.
94
94
95
95
1. Browse to https://jenkins.ceph.com/view/all/job/ceph/build?delay=0sec
96
96
2. Log in with GitHub OAuth
@@ -125,8 +125,8 @@ NOTE: if for some reason the build has to be restarted (for example if one distr
125
125
126
126
Packages take hours to build. Use those hours to create the Release Notes and Announcements:
See `the Ceph Tracker wiki page that explains how to write the release notes <https://tracker.ceph.com/projects/ceph-releases/wiki/HOWTO_write_the_release_notes>`_.
0 commit comments