Release 10.3.0
When the previous release branch is created:
-
Raise the library version (
MAJOR_VERSION/MINOR_VERSION/PATCH_VERSIONin CMakeLists.txt) onmain -
Tag the commit where the library version is raised as
$major.$minor.$patch-dev
At the beginning of the 6 month release cycle:
-
Appoint a release manager who is responsible for the release process
and create the release issue with the contents of this document between
the
start of issue/end of issuecomments - Create a milestone with due date
- Fill the milestone with issues
6 weeks before the release date:
- Create an issue to update RELEASE_NOTES.md and assign it to someone else
-
Announce (slack:
kernel) that there are two weeks left before the first release candidate - (TSD maintainer) Update TSD/distribution.properties to see if it works with cppTango
- (TSD maintainer) Create issues for all dependent subprojects and ask for an update
4 weeks before the release date:
- Determine if we have broken API/ABI compatibility for this release and make sure that the SO_VERSION is correct in the base CMakeLists.txt.
-
Create a release branch named
release/$major.$minor.$patchoffmain. From now on all merge requests for this release have to be done against this branch. - Change the target branch of all MRs which should be part of this release to the new release branch
-
Disable the
pagesjob on themainbranch
RC phase:
-
Tag the repo (
$major.$minor.$patch-rc$X), this automatically creates a release and uploads the windows packages - (TSD maintainer) Update TSD to use the new tag, merge it and tag as well
-
Advertise the new release candidate on the
tango-infomailing list and slack (channel:general)
During the RC phase it is advisable to only merge non-intrusive MRs to avoid the possibility of last-minute regressions.
Creating a new release candidate should be redone every week when more MRs have been merged.
At the release date:
All steps from the release candidate phase above:
-
Tag the release (
$major.$minor.$patch) - Update for TSD
- Advertise new release
and finally
- Delete release branch
-
Allow the
pagesjob to run onmainagain
Edited by Théo Rozier