Spinning a new release¶
Make sure that the
cytoflowtests pass, both locally and on Travis and Appveyor:
nose2 -c packaging/nose2.cfg -s cytoflow/tests
Make sure the
cytoflowguitests pass. You must do this locally; it runs too long for the free CI platforms.
nose2 -c packaging/nose2.cfg -s cytoflowgui/tests
Make sure that the ReadTheDocs build is working.
Make sure that the
pyinstallerdistribution will build on your local machine. We are currently building with a custom version of PyIntaller that’s included as a submodule in packaging/pyinstaller
Make sure that the expected files (installers, conda packages, wheels, built extensions) are getting published to Bintray. Remember – a failed deployment doesn’t show up on the CI platforms as a broken build!
Make sure that
pyinstallerbuilt the executables on all three supported platforms. Download and test that all three start and can run a basic workflow.
Build the API docs and check them for completeness:
python3 setup.py build_sphinx
Build the online docs and check them for completeness:
python3 setup.py build_sphinx -b embedded_help
Versioning and dependencies¶
versioneerto manage versions. No manual versions required.
If there are dependencies that don’t have packages on Anaconda, add recipes to
conda skeleton) and upload them to the Anaconda Cloud. Unless there’s a really (really!) good reason, please make them no-arch.
Update the README.rst from the README.md. From the project root, say:
pandoc --from=markdown --to=rst --output=README.rst README.md
Create a new tag on the master branch. This will re-build everything on the CI builders, create a new release on GitHub, and upload new source and wheels to PyPI and packages to Anaconda Cloud.
Double-check that the required files ended up on Bintray.
gh-pages, update the version in
_config.yml. Push these changes to update the main download links on http://bpteague.github.io/cytoflow
Download the wheels from Bintray or Github and add them to PyPI. TODO - use
twineto release to PyPI from CI builders.