Skip to content

Commit

Permalink
Document creating releases but differentiate between major/minor/patc…
Browse files Browse the repository at this point in the history
…h releases (#40)

* differentiate between major/minor/patch releases

Signed-off-by: Jose Borreguero <[email protected]>

* release notes

Signed-off-by: Jose Borreguero <[email protected]>

---------

Signed-off-by: Jose Borreguero <[email protected]>
  • Loading branch information
jmborr authored Aug 2, 2024
1 parent 365f9b5 commit 0581118
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
37 changes: 35 additions & 2 deletions docs/source/developer/developer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,38 @@ After this, point your browser to

Creating a stable release
-------------------------
- Follow the `Software Maturity Model <https://ornl-neutrons.atlassian.net/wiki/spaces/NDPD/pages/23363585/Software+Maturity+Model>`_ for continous versioning as well as creating release candidates and stable releases.
- Update the :ref:`Release Notes <release_notes>` with major fixes, updates and additions since last stable release.

- *patch* release, it may be allowed to bypass the creation of a candidate release.
Still, we must update branch `qa` first, then create the release tag in branch `main`.
For instance, to create patch version "v2.1.1":

.. code-block:: bash
VERSION="v2.1.2"
# update the local repository
git fetch --all --prune
git fetch --prune --prune-tags origin
# update branch qa from next, possibly bringing work done in qa missing in next
git switch next
git rebase -v origin/next
git merge --no-edit origin/qa # commit message is automatically generated
git push origin next # required to "link" qa to next, for future fast-forward
git switch qa
git rebase -v origin/qa
git merge --ff-only origin/next
# update branch main from qa
git merge --no-edit origin/main # commit message is automatically generated
git push origin qa # required to "link" main to qa, for future fast-forward
git switch main
git rebase -v origin/main
git merge --ff-only origin/qa
git tag $VERSIONv2.1.1
git push origin --tags main
- *minor* or *major* release, we create a stable release *after* we have created a Candidate release.
For this customary procedure, follow:

+ the `Software Maturity Model <https://ornl-neutrons.atlassian.net/wiki/spaces/NDPD/pages/23363585/Software+Maturity+Model>`_ for continous versioning as well as creating release candidates and stable releases.
+ Update the :ref:`Release Notes <release_notes>` with major fixes, updates and additions since last stable release.


2 changes: 1 addition & 1 deletion docs/source/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Notes for major or minor releases. Notes for patch releases are deferred

**Of interest to the Developer:**

- PR #XYZ one-liner description
- PR #40 documentation to create a patch release

2.1.0
-----
Expand Down

0 comments on commit 0581118

Please sign in to comment.