-
Notifications
You must be signed in to change notification settings - Fork 318
Release management for SOFA
Hugo edited this page Dec 27, 2024
·
18 revisions
Steps to follow for a bi-annual SOFA release (here v23.06):
- Make sure all PR have milestones (backport-todo + no milestone)
- Life cycle in the code
- disable the deprecated features
- SOFA_ATTRIBUTE_DEPRECATED.\n."."."v24.06" --> attributes (pour v24.06 et en plus vieux 23.12...)
- SOFA_ATTRIBUTE_DEPRECATED.".".*"v24.06" (le meme sans saut de ligne)
- SOFA_DEPRECATED_HEADER.".".*"v24.06" --> headers
- DeprecatedData.\n."."."v24.06" --> (pour v23.12 et en plus vieux 23.06...) passer en DISABLED
- DeprecatedData.".".*"v24.06" (le meme sans saut de ligne)
- remove the features disabled in v23.06
- SOFA_ATTRIBUTE_DISABLED.\n."."."v23.06" --> attributes (et plus vieux) remove (delta de 1 an)
- SOFA_ATTRIBUTE_DISABLED.".".*"v23.06" (le meme sans saut de ligne)
- SOFA_DISABLED_HEADER.".".*"v23.06" --> headers
- RemovedData.\n."."."v23.06" --> (et plus vieux) remove (delta de 1 an)
- RemovedData.".".*"v23.06" (le meme sans saut de ligne)
- it's also the occasion to check for deprecated code / warnings in SOFA
- disable the deprecated features
- Creation of the release branch
- update ChangeLog using script "create-changelog"
- update version of SOFA in CMakeLists.txt (root + applications/plugins)
- Generate binaries
- see below what to do when issues occur with SOFA
- Test the release
- check regular examples
- check the SoftRobots tutorial (more complex scenes)
- check the out-of-tree build of a plugin
- Update SOFA master branch
- cherry-pick the ChangeLog
- bump version towards xx.xx.99
- Make sure plugins are following
- stable branch compatible with the release branch is created
- possibly .git/workflows are updated (
sofa-branch
)
- Web (sofa-framework.org) update
- release page
- download page
- compute checksums
- update tag on applications/plugins "Available in v23.12"
- update list of supported plugins
- update doc Linux / Win / MacOS
- check validity of WinDepPack
- update doc SofaPython3 (version of the Python library used for compilation)
- Publish release
- GitHub new release note
- Close milestone and open a new one
============== Issues detected in SOFA while creating the release ==============
- fix with a PR
- when fix is merged, cherry-pick the commit from master to the release branch
- we update the Changelog on the release branch
- in case of problems in external plugins :
- if we have time : fix the plugins in their respective repository
- if we don't have time : fix plugins in forks (to be proposed in PR later)