Maintainers Guide

Making a release

  1. Update CHANGELOG.rst.
  2. Push it to GitHub, create a release tagging it.
  3. Tagging it on GitHub will automatically deploy it to PyPi, which in turn will create a PR for the conda-forge feedstock. Merge that PR.
  4. Check that:

Useful things

  • If there were changes to README, check it with:

    python setup.py --long-description | rst2html.py --no-raw > index.html
    
  • If unsure, test it first manually on testpypi (requires ~/.pypirc):

    ~/anaconda3/bin/twine upload dist/* -r testpypi
    
  • If unsure, test the test-pypi for conda if the skeleton builds:

    conda skeleton pypi --pypi-url https://test.pypi.io/pypi/ empymod
    
  • If it fails, you might have to install python3-setuptools:

    sudo apt install python3-setuptools
    

CI

  • Testing on Travis, includes:
    • Tests using pytest
    • Linting / code style with pytest-flake8
    • Figures with pytest-mpl
    • Ensure all http(s)-links work (sphinx linkcheck)
  • Line-coverage with pytest-cov on Coveralls
  • Code-quality on Codacy
  • Manual on ReadTheDocs, including the Gallery (examples run each time).
  • DOI minting on Zenodo
  • Benchmarks with Airspeed Velocity (asv) [currently manually]
  • Automatically deploys if tagged: