For additional documentation see the Developer Guide: Release Management page. This file gives a brief reminder of what maintainers need to do for new releases.
- create a release on GitHub using tag
<major>.<minor>.<patch>
. - release on PyPi under https://pypi.org/project/GridDataFormats
- release on conda-forge https://anaconda.org/conda-forge/griddataformats
-
We use semantic versioning MAJOR.MINOR.PATCH (i.e., briefly, major revision changes whenever the API changes in backwards-incompatible manner, MINOR changes for new features, PATCH changes for fixes that correct functionality; as long as MAJOR == 0, we can break the API with increasing MINOR.)
-
Releases are cut from the master branch and tagged with MAJOR.MINOR.PATCH (note: the release tag determines the tag because we use versioneer, which obtains the release number from the git tag). We do from the master branch:
git tag <major>.<minor>.<patch>
git push --tags
-
This will automatically trigger a github action (named 'deploy') to using pypa's
build
tool to create a tarball & pure Python wheel and upload it to https://test.pypi.org/project/GridDataFormats -
Once uploaded to testpypi, please check locally that the testpypi build is working as intended. In a clean environment do:
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple GridDataFormats=="version number"
pip install pytest
pytest --pyargs gridData
-
Create a GitHub release from the tag and name it
<major>.<minor>.<patch>
and add a short description. -
The GitHub release triggers the
deploy
action to deploy the tarball and wheel to the standard PyPI repository.
A GitHub release is automatically deployed to PyPI.
After a PyPI release update the conda-forge package feedstock.
- Wait for the regro-cf-autotick-bot to create a PR, based on the PyPI release (can take a few hours).
- review the PR
- merge the PR
- conda packages will be built
Manual updates are rarely necessary.
If necessary do the following on a local checkout of the package feedstock
- create a new branch
- conda smithy rerender
- update the sha256 in the
meta.yaml
(see the PyPi downloads page for the sha256 of the tar.gz file) - update version number
Afterwards upload the new branch to your own fork of the feedstock and generate a PR. Once all tests pass merge the PR and the package will be published.
Documentation is automatically generated in CI and pushed to the gh-pages branch and appears at https://www.mdanalysis.org/GridDataFormats/.
There is also alternative documentation on ReadTheDocs https://griddataformats.readthedocs.io/, which automatically rebuilds.