Create CD workflow
Closed this issue · 3 comments
It would be best if some kind of CD workflow was implemented to automate publishing, perhaps along with a more controlled branch management system (e.g. create dev
branch to commit to between versions, or v?.?.x
branches per minor version like NiBabel does). @matthew-brett would you recommend that system? And how about versioneer
?
I would not recommend Versioneer, no, it gets really annoying to deal with in various common situations, for example build files in the working directory. Honestly, changing the version number in the __init__.py
file is not too bad.
The Nibabel branch structure is a bit fiddly - and we hardly use it. Maybe it would make sense to have a release maintenance branch when you actually do end up doing bug fixes for an old release - but otherwise just keep going on master / main?
Worth switching to main
as default branch, following the new Git default, many other projects?
Worth switching to main as default branch, following the new Git default, many other projects?
Sure.
And very well, we'll stick to manual publishing from main
for now.
Updated main branch name, any one with the existing setup should execute:
# Switch to the "master" branch:
$ git checkout master
# Rename it to "main":
$ git branch -m master main
# Get the latest commits (and branches!) from the remote:
$ git fetch
# Remove the existing tracking connection with "origin/master":
$ git branch --unset-upstream
# Create a new tracking connection with the new "origin/main" branch:
$ git branch -u origin/main