# Semantic Versioning

The operation consisting of releasing a new version of this repository is automated by a set of tasks within the root Makefile. In this context, a version number have the following format:

  <major>.<minor>.<patch>[-b<build>]


where:

• < major > corresponds to the major version number
• < minor > corresponds to the minor version number
• < patch > corresponds to the patching version number
• (eventually) < build > states the build number i.e. the total number of commits within the devel branch.

Example: 1.0.0-b28.

VERSION file

The current version number is stored in the root file VERSION. /!\ IMPORTANT: NEVER MAKE ANY MANUAL CHANGES TO THIS FILE

ULHPC/docs repository release

Only the ULHPC team is allowed to perform the releasing operations (and push to the production branch). By default, the main documentation website is built against the production branch.

 \$> make versioninfo

ULHPC Team procedure for repository release

If a new version number such be bumped, the following command is issued:

make start_bump_{major,minor,patch}

This will start the release process for you using git-flow within the release/<new-version> branch - see also Git(hub) flow. Once the last changes are committed, the release becomes effective by running:
make release

It will finish the release using git-flow, create the appropriate tag in the production branch and merge all things the way they should be in the master branch.

Last update: March 21, 2023