-
Notifications
You must be signed in to change notification settings - Fork 55
Preparing a release
-
We use semantic versioning MAJOR.MINOR.PATCH (i.e., briefly, major revision changes whenever the API changes in backwards-incompatible manner, MINOR changes for new features, PATCH changes for fixes that correct functionality; as long as MAJOR == 0, we can break the API with increasing MINOR.)
-
Releases are cut from the master branch and tagged with MAJOR.MINOR.PATCH (note: the release tag determines the tag because we use versioneer, which obtains the release number from the git tag). We do from the master branch:
git tag release-<major>.<minor>.<patch>
python setup.py sdist bdist_wheel
- check with
twine check dist/*
twine upload dist/*
-
Note: the tags need to be pushed to GitHub with
git push --tags
. (You can add text to the releases on GitHub.) -
Packages are published from the tagged (pip package, conda package (regro-cf autobot should make a PR once the PyPi package is up, can take a day), tar balls on GitHub); zenodo DOIs and snapshots are automatically minted.
-
Docs are managed on ReadTheDocs and should automatically update (although it doesn't hurt to check and have docs build manually)