|
1 | | -Update Conda-forge package |
2 | | --------------------------------- |
| 1 | +# Maintainer documentation |
| 2 | + |
| 3 | +For additional documentation see the [Developer Guide: Release |
| 4 | +Management](https://github.com/MDAnalysis/GridDataFormats/wiki/Developer-Guide#release-management) |
| 5 | +page. This file gives a brief reminder of what maintainers need to do |
| 6 | +for new releases. |
| 7 | + |
| 8 | +1. create a release on GitHub using tag `<major>.<minor>.<patch>`. |
| 9 | +1. release on PyPi under https://pypi.org/project/GridDataFormats |
| 10 | +1. release on conda-forge https://anaconda.org/conda-forge/griddataformats |
| 11 | + |
| 12 | +## GitHub release |
| 13 | + |
| 14 | +* We use [semantic versioning](https://semver.org) MAJOR.MINOR.PATCH |
| 15 | + (i.e., briefly, major revision changes whenever the API changes in |
| 16 | + backwards-incompatible manner, MINOR changes for new features, PATCH |
| 17 | + changes for fixes that correct functionality; as long as MAJOR == 0, |
| 18 | + we can break the API with increasing MINOR.) |
| 19 | + |
| 20 | +* Releases are cut from the master branch and tagged with |
| 21 | + *MAJOR.MINOR.PATCH* (note: the release tag *determines* the tag |
| 22 | + because we use |
| 23 | + [versioneer](https://github.com/warner/python-versioneer/blob/master/INSTALL.md#post-installation-usage), |
| 24 | + which obtains the release number from the git tag). We do from the |
| 25 | + master branch: |
| 26 | + |
| 27 | + 1. `git tag <major>.<minor>.<patch>` |
| 28 | + 1. `git push --tags` |
| 29 | + |
| 30 | +* Create a |
| 31 | + [GitHub release](https://github.com/MDAnalysis/GridDataFormats/releases) |
| 32 | + from the tag and name it `v<major>.<minor>.<patch>` and add a short description. |
| 33 | + |
| 34 | +## PyPi release |
| 35 | + |
| 36 | +Upload to PyPi can be done by PyPi maintainers and requires `twine`: |
| 37 | + |
| 38 | + |
| 39 | +1. `python setup.py sdist bdist_wheel` |
| 40 | +2. `twine upload dist/*` |
| 41 | + |
| 42 | +## Update Conda-forge package |
3 | 43 |
|
4 | 44 | *After* a PyPi release update the conda-forge package. For this do the following |
5 | 45 | on a local checkout of the package |
6 | 46 | [feedstock](https://github.com/conda-forge/griddataformats-feedstock) |
7 | 47 |
|
8 | 48 | 1. create a new branch |
9 | 49 | 1. conda smithy rerender |
10 | | -1. update the sha256 in the `meta.yaml` |
| 50 | +1. update the sha256 in the `meta.yaml` (see the [PyPi downloads |
| 51 | + page](https://pypi.org/project/GridDataFormats/#files) for the |
| 52 | + sha256 of the tar.gz file) |
11 | 53 | 1. update version number |
12 | 54 |
|
13 | 55 | Afterwards upload the new branch to your **own fork** of the feedstock and |
14 | 56 | generate a PR. Once all tests pass merge the PR and the package will be |
15 | 57 | published. |
16 | 58 |
|
17 | 59 |
|
18 | | -Update package on MDAnalysis channel |
19 | | ---------------------------------------------- |
| 60 | +### Update package on MDAnalysis channel |
| 61 | + |
20 | 62 |
|
21 | 63 | Don't. We don't have the man power to update all the dependencies we need in the |
22 | 64 | channel ourselves. Relying on conda-forge is more reliant. |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | +## Documentation |
| 69 | + |
| 70 | +Documentation is automatically generated on Travis CI and pushed to |
| 71 | +the gh-pages branch and appears at https://www.mdanalysis.org/GridDataFormats/. |
| 72 | + |
| 73 | + |
| 74 | +There is also alternative documentation on ReadTheDocs |
| 75 | +https://griddataformats.readthedocs.io/, which automatically rebuilds. |
0 commit comments