Release process¶
Shamrock is released on a 6 months basis. The release process goes as follows.
Changing the version¶
We first change the version of the code :
set(SHAMROCK_VERSION_MAJOR 2024)
set(SHAMROCK_VERSION_MINOR 10)
set(SHAMROCK_VERSION_PATCH 0)
The release branch¶
First, if this is a true release (opposed to a patch), we branch from main
and name it release/<major>.<minor>.x
.
The release workflow¶
We launch the Prepare release
workflow on the release branch. This will generate the doc, the coverage info and the source code archive.
Creating the release¶
We then draft a new release on GitHub. The tag must be set to v<major>.<minor>.<patch>
, and we set the target branch to release/<major>.<minor>.x
. Then set the release name to Shamrock <major>.<minor>.<patch>
.
Then generate the release note from the last tag.
For the files, add the documentation, license, and coverage, named Shamrock-<major>.<minor>.<patch>-<filename>
, except for the license file that will be named LICENSE
.
Finally, write the text and ... done !