-
Notifications
You must be signed in to change notification settings - Fork 89
Developer Wiki
Sarthak Pati edited this page Aug 14, 2025
·
3 revisions
Welcome to the GaNDLF Developer wiki!
- Full documentation: https://gandlf.org/
- If you are moving from the older CBICA repository, please follow this guide to rebase your current fork.
- The version file should have the latest development version information. As far as possible, GaNDLF follows Semantic Versioning.
- Update the
version.pyfile to remove"-dev"from the__version__variable, and change to whatever number the version needs to be tagged to. -
Create a new release of the main development branch using the new number referred to in the
__version__variable in theversion.pyfile.
- Choose a tag, which should be the same as the value of
__version__in theversion.pyfile.- NOTE: Do NOT tag using git, and use this mechanism to ensure the CD scripts run properly to publish on PyPi.
- Give a meaningful title.
- Use the option "Generate release notes" on GitHub.
- Select appropriate options (usually, just
Set as the latest releaseis fine). - Publish the release.
- Update the
version.pyfile to add"-dev"in the__version__variable, and increase the version number as appropriate. This will be used for nightly publishing of development builds. Ensure that the new version is also updated in all sample configurations and in the testing configurations so that unit tests will pass.
- For simplicity, one can use the
gandlf_updateVersionscript. -
Note that you should try to do the release and
"-dev"version update on the same day, otherwise multiple versions with the "tag" with datestamp will get pushed to PyPi.
- All common installations are handled by a composite action in this file.
- For any changes to dependencies, please update the section "Install dependencies and package" in the above file.
- The main tests are defined in this file.
- For any changes to the main tests, please update the relevant sections in the above file.
- It is structured to run parallel tests across different configurations to improve efficiency and reduce overall testing time (refer to this PR for details).
- The test matrix includes various test groups, each targeting specific aspects of the codebase.
- Each test group is executed in isolation, allowing for more granular control over the testing process and easier identification of issues.
- Refer to other workflows.
- Check GitHub documentation on this topic.