Maintainers Guide¶
Making a release¶
- Update
CHANGELOG.rst
. - Push it to GitHub, create a release tagging it.
- 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.
- Check that:
- PyPi deployed;
- conda-forge deployed;
- Zenodo minted a DOI;
- emg3d.rtfd.io created a tagged version.
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 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/ emg3d
If it fails, you might have to install
python3-setuptools
:sudo apt install python3-setuptools
CI¶
Automatic bits¶
- Testing on Github Actions includes:
- Tests using
pytest
- Linting / code style with
pytest-flake8
- Ensure all http(s)-links work (
sphinx linkcheck
)
- Tests using
- Line-coverage with
pytest-cov
on Coveralls - Code-quality on Codacy
- Manual on ReadTheDocs
- DOI minting on Zenodo
Manual things¶
- Benchmarks with Airspeed Velocity
(
asv
) - Gallery in emg3d-gallery
(
sphinx-gallery
)