Release processΒΆ
This is the release process for agate:
- Verify all unit tests pass with fresh environments:
tox -r. - Verify 100% test coverage:
nosetests --with-coverage tests. - Ensure any new modules have been added to setup.py’s
packageslist. - Ensure any new public interfaces have been added to the documentation.
- Ensure TableSet proxy methods have been added for new Table methods.
- Make sure the example script still works:
python example.py. - Ensure
python charts.pyworks and has been run recently. - Ensure
CHANGELOG.rstis up to date. Add the release date and summary. - Create a release tag:
git tag -a x.y.z -m "x.y.z release." - Push tags upstream:
git push --tags - If this is a major release, merge
masterintostable:git checkout stable; git merge master; git push - Upload to PyPI:
python setup.py sdist bdist_wheel upload. - Flag the release to build on RTFD.
- Update the “default version” on RTFD to the latest.
- Rev to latest version:
docs/conf.py,docs/tutorial.rst,setup.py,CHANGELOG.rstneed updates. - Find/replace
en/[old version]toen/[new version]intutorial.ipynb. - Commit revision:
git commit -am "Update to version x.y.z for development.".