When releasing a new version of ESPEI:
git pull
to make sure you haven't missed any last-minute commits. After this point, nothing else is making it into this version.- Ensure that all tests pass locally on develop.
- Regenerate the API documentation with
sphinx-apidoc -f -o docs/api/ espei/ -H 'API Documentation'
. - Update the
version
andrelease
variables ofdocs/conf.py
to the new version - Resolve differences and commit the updated API documentation.
git push
and verify all tests pass on all CI services.- Generate a list of commits since the last version with
git --no-pager log --oneline --no-decorate 0.1^..origin/master
Replace0.1
with the tag of the last public version. - Condense the change list into something user-readable. Update and commit CHANGES.rst with the release date.``
git tag 0.2 master -m "0.2"
Replace0.2
with the new version.git show 0.2
to ensure the correct commit was taggedgit push origin master --tags
- The new version is tagged in the repository. Now the public package must be built and distributed.
rm -R dist/*
on Linux/OSX ordel dist/*
on WindowsWith the commit checked out which was tagged with the new version:
python setup.py sdist
Make sure that the script correctly detected the new version exactly and not a dirty / revised state of the repo.
Assuming a correctly configured .pypirc:
twine upload -r pypi -u bocklund dist/*
- Get the sha-256 hash of the tarball via
openssl sha256 dist/espei-0.3.1.tar.gz
or at pypi.org. - Fork the conda forge ESPEI feedstock.
- Update the version number and hash in the recipe
- Open a PR and merge once the tests complete and pass