@@ -107,3 +107,65 @@ for (auto const& listEntry : *list) { /*...*/ } // avoid
107107for (auto const& aVol : * volList) { /* ...* / } // acceptable
108108for (auto const& volume : * volumes) { /* ...* / } // ✓ prefer
109109```
110+
111+
112+ # Creating a new Release
113+
114+ (This is basically for the release manager, so that we don't
115+ forget anything.)
116+
117+ ## Control the status
118+
119+ * Take a look at the
120+ [Milestone](https://github.com/FairRootGroup/FairRoot/milestones)
121+ for the release
122+
123+ Consider moving still open items to another milestone
124+
125+ ## Create a commit
126+
127+ On the `v{x.y}_patches` branch with comment `Bump v{x.y.z}`:
128+
129+ * Double check that the version number on the `project`
130+ line in [CMakeLists.txt](CMakeLists.txt) is correct
131+
132+ * Apply some final editorial changes to the
133+ [CHANGELOG](CHANGELOG.md) for the upcoming release
134+ * Remove the `(UNRELEASED)` tag on the header
135+ * Add the correct date
136+ * Go over the list and re-order things/etc (classical
137+ editorial changes)
138+
139+ * Apply editorial changes to [README](README.md)
140+
141+ * (Soon)
142+ * Check that `codemeta.json` and friends have been
143+ updated.
144+ * Get a zenodo entry ready
145+
146+ ## Push the patch to the repository:
147+
148+ ```
149+ git push origin v{x.y}_ patches
150+ ```
151+
152+ ## Create, control and push the new tag to the repository:
153+
154+ ```
155+ git tag v{x.y.z} -a -s
156+ git show v{x.y.z}
157+ git push origin v{x.y.z}
158+ ```
159+
160+ ## Create a new realese on GitHub.
161+
162+ ## In certain cases the tag should be merged onto master:
163+
164+ ```
165+ git checkout master
166+ git merge origin/v{x.y}_ patches
167+ git push mainrepo origin
168+ ```
169+
170+ The message, when prompted, should be `Merge v{x.y.z}`.
171+ The merge and push should not be forced.
0 commit comments