This document guides a contributor through creating a release of Adaptive.
The following checks should be made before tagging the release.
Check that all the issues and merge requests for the appropriate milestone have been resolved. Any unresolved issues should have their milestone bumped.
For major and minor releases we will be tagging the main
branch.
This should be as simple as verifying that the
latest CI pipeline
succeeded.
The following command shows the number of commits per author since the last annotated tag:
t=$(git describe --abbrev=0); echo Commits since $t; git shortlog -s $t..
Make an annotated, signed tag for the release. The tag must have the name:
git tag -s v<version> -m "version <version>"
Use
docker run -it --rm -v "$(pwd)":/usr/local/src/your-app ferrarimarco/github-changelog-generator -u python-adaptive -p adaptive -t API_TOKEN_HERE
and commit the relevant parts using
git commit -p CHANGELOG.md
rm -fr build dist
python setup.py sdist bdist_wheel
This creates the file dist/adaptive-<version>.tar.gz
. It is a good idea to unpack it
and check that the tests run:
tar xzf dist/adaptive*.tar.gz
cd adaptive-*
py.test .
git commit --allow-empty -m 'start development towards v<version+1>'
git tag -am 'Start development towards v<version+1>' v<version+1>-dev
Where <version+1>
is <version>
with the minor version incremented
(or major version incremented and minor and patch versions then reset to 0).
This is necessary so that the reported version for any further commits is
<version+1>-devX
and not <version>-devX
.
git push origin v<version> v<version+1>-dev
twine upload dist/*
Update the conda-forge recipe
- Fork the feedstock repo
- Change the version number and sha256 in
recipe/meta.yaml
and commit to your fork - Open a Pull Request
- Type
@conda-forge-admin, please rerender
as a comment - When the tests succeed, merge