A release can be undertaken only by a project administrator. A project administrator should have an administrator role on the ParMOO GitHub, PyPI, and readthedocs pages.
- A release branch should be taken off
develop
(ordevelop
pulls controlled). - Release notes for this version are added to the
CHANGELOG.rst
file. - Version number is updated wherever it appears and
+dev
suffix is removed (inparmoo/version.py
,README.rst
, anddocs/refs.rst
). - Check
README.rst
Citing ParMOO anddocs/refs.rst
for correctness. setup.py
andparmoo/__init__.py
are checked to ensure all information is up to date.MANIFEST.in
is checked. Locally, try outpython setup.py sdist
and check created tarball contains correct files and directories for PyPI package.- Check that
parmoo
requirements (inREQUIREMENTS.txt
) are compatible withreadthedocs.io
(in.readthedocs.yml
) - Tests are run with source to be released (this may iterate):
- On-line CI (GitHub Actions) tests must pass.
- Documentation must build and display correctly wherever hosted (currently readthedocs.org).
- Pull request from either the develop or release branch to main requesting one or more reviewers (including at least one other administrator).
- Reviewer will check that all tests have passed and will then approve merge.
An administrator will take the following steps.
- Merge the pull request into main.
- Once CI tests have passed on main:
- A GitHub release will be taken from the main
- A tarball (source distribution) will be uploaded to PyPI (should be done
via
twine
by an admin using PyPI-API-token authentication)
- If the merge was made from a release branch (instead of develop), merge this branch into develop.
- Create a new commit on develop that appends
+dev
to the version number (wherever it appears).
- Ensure all relevant GitHub issues are closed.
- Check that the conda-forge package has tracked latest release and update dependency list if needed -- an admin will need to approve the automatically generated PR on https://github.com/conda-forge/parmoo-feedstock