This document describes the deployment details to perform an version release (or development release).
A version release cycle must not contain any changes to the code other than the below specified changes. Any pending commits should be committed before proceeding with the below sequence.
The release cycle should be performed like this:
-
Increment the release numbers in the top-directory setup.py script These are
MAJOR MINOR MICRO
Alltogether the version number is:
VERSION=MAJOR.MINOR.MICRO
In the followingVERSION
should be replaced by the correct release numbers -
Set the variable:
ISRELEASED = True
-
Set the variable
GIT_REVISION
to the latest commit. This means that the revision specification for the release actually corresponds to the commit just before the actual release. You can get the commit hash by:git rev-parse HEAD GIT_REVISION = <git rev-parse HEAD>
-
Add
setup.py
to the commit and commit using:git commit -s -m "sisl release: VERSION"
with the corresponding version number.
-
Tag the commit with:
git tag -a "vVERSION" -m "Releasing vVERSION"
-
Create tarballs and wheels and upload them
rm -rf dist python setup.py sdist bdist_wheel twine upload dist/sisl-VERSION*.tar.gz twine upload dist/sisl-VERSION*.whl
-
Create conda uploads.
The conda uploads are based on conda-forge and an associated sisl-feedstock is used. To update it, follow these steps:
- branch off https://github.com/conda-forge/sisl-feedstock
- Edit recipe/meta.yaml by updating version and sha256
- Propose merge-request.
- Check CI succeeds.
- Accept merge and the new version will be uploaded.