Release Procedures¶
Notes on how to prepare, package and release a new version
Pre-Release¶
- You should have the packages in requirements-dev.txt installed and run setup.
pip install -U -r requirements-dev.txt
pip install -e .
- Code should be checked in
hg sum --remote
- Tests should be passing locally
py.test -v
- drone and AppVeyor tests should be passing
- Update the changelog
- Read the Docs builds should be building cleanly – http://dhp.readthedocs.org/en/latest/
- Run the release script in –dry-run mode and check that no errors or issues are outstanding. Specifically, check version information from bumpversion.
./release.sh --dry-run
Release¶
bumping the version, checking the build, committing tags
- finalize the changelog (changlog.rst)
- Run the release script
./release.sh
- Push the commit
hg push
- Verify drone builds – https://drone.io/bitbucket.org/dundeemt/dhp/latest
- Verify the Appveyor build – https://ci.appveyor.com/project/dundeemt/dhp-dev
- Verify docs built – http://dhp.readthedocs.org/en/latest/
- Set the default docs to the new version – https://readthedocs.org/dashboard/dhp/versions/
- upload to pypi
twine upload dist/dhp-x.y.z.tar.gz
- InsecurePlatformWarning - If you get this warning on python2.7+ you will need to install some additional modules
pip install pyopenssl ndg-httpsclient pyasn1
- Check PyPi for problems and make sure docs and package is correct – https://pypi.python.org/pypi/dhp
Profit¶
You and the rest of the world can enjoy