@@ -189,26 +189,38 @@ A full list of test environments can be seen by issuing the following command:
189189 Making releases
190190~~~~~~~~~~~~~~~
191191
192+ .. IMPORTANT ::
193+ Reference :ref: `release_notes_instructions ` for creating relevant news fragments that will be added to the :ref: `release_notes `.
194+
192195Releases are automatically made by GitHub Actions on any ``master `` commit which is tagged.
193196
194197To create a new tagged release commit:
195198
196- - Create corresponding release notes in ``docs/release_notes/X.Y.Z.rst ``.
197- - The release notes files in ``docs/release_notes/ `` are used to
198- automatically generate the :ref: `release notes <release_notes >`.
199+ - Build the docs and review the content of ``docs/news.inc ``.
200+
201+ - If necessary, create additional news files and build the docs again.
202+
203+ - Add the news summary as the release notes and remove news fragments:
204+
205+ .. code-block::python
206+
207+ mv docs/news.inc docs/release_notes/X.Y.Z.rst
208+ git add docs/release_notes/X.Y.Z.rst
209+ git rm -f docs/news.d/*.rst
210+
199211 - Execute ``python tools/release.py create X.Y.Z ``.
200- - Will make commit with the new ``about.py `` version and release notes and tag it.
201- - Will make another commit setting ``about.py `` to the next pre release candidate version.
212+ - Will make and tag a commit with the new ``about.py `` version, the release notes and removed news files.
213+ - Will make another commit setting ``about.py `` to the next development version.
214+
202215- Push the tag to remote to trigger the release build.
203- - ``git push origin vX.Y.Z ``
204- - If the release build is successful, you can push the two commits to master.
205- - ``git push origin master ``
206- - If, in the meantime, a new commit has come into origin/master the two
207- commits have to be merged into origin/master.
216+ - ``git push origin vX.Y.Z ``
208217
218+ - If the release build is successful, you can push the two commits to master.
219+ - ``git push origin master ``
220+ - If, in the meantime, a new commit has come into origin/master the two commits have to be merged into origin/master.
209221
210- The CI service makes a release by uploading a new package to PyPI when a tag
211- named `` vX.Y.Z `` is found in Git. A new release will not be made if:
222+ The CI service makes a release by uploading a new package to PyPI when a tag named `` vX.Y.Z `` is found in Git.
223+ A new release will not be made if:
212224
213225- The ``X.Y.Z `` release is already on PyPI.
214226- The repo tag does not exist.
@@ -222,3 +234,31 @@ Therefore, when bumping the submodules, maintainers/contributors need to remembe
222234version.
223235
224236Furthermore, since OSVVM is tagged periodically, bumping from tag to tag is strongly suggested.
237+
238+ .. _release_notes_instructions :
239+
240+ Release Notes Instructions
241+ --------------------------
242+
243+ The :vunit_file: `release notes directory <docs/news.d> ` contains "newsfragments" which
244+ are short (`reST formatted
245+ <https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html> `_) files that
246+ contain information for users.
247+
248+ Make sure to use full sentences in the **past or present tense ** and use punctuation.
249+
250+ Each file should be named like ``<issue #>.<type>.rst ``, where ``<issue #> `` is the
251+ GitHub issue or pull request number, and ``<type> `` is one of:
252+
253+ * ``breaking ``: a change which may break existing functionality, such as feature removal
254+ or behavior change
255+ * ``bugfix ``: fixes a bug
256+ * ``change ``: backwards compatible features or improvements
257+ * ``deprecation ``: feature deprecation
258+ * ``misc ``: a ticket was closed, but it is not necessarily important for the user
259+
260+ For example: ``123.feature.rst ``, ``456.bugfix.rst ``.
261+
262+ ``towncrier `` preserves multiple paragraphs and formatting
263+ (code blocks, lists, and so on), but for entries other than features, it is usually
264+ better to stick to a single paragraph to keep it concise.
0 commit comments