Skip to content

Latest commit

 

History

History
70 lines (45 loc) · 2.26 KB

release-proc.rst

File metadata and controls

70 lines (45 loc) · 2.26 KB

Release Process

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.

Before release

  • A release branch should be taken off develop (or develop 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 (in parmoo/version.py, README.rst, and docs/refs.rst).
  • Check README.rst Citing ParMOO and docs/refs.rst for correctness.
  • setup.py and parmoo/__init__.py are checked to ensure all information is up to date.
  • MANIFEST.in is checked. Locally, try out python setup.py sdist and check created tarball contains correct files and directories for PyPI package.
  • Check that parmoo requirements (in REQUIREMENTS.txt) are compatible with readthedocs.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.

During release

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).

After release

  • 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