Checklist
- Update __init__.py.__version__ per Semantic Versioning.  Tests will fail
  until all version strings are the same.

- Check for outstanding todo's.
- update CHANGELOG.md
- update copyright year
- Run code inspections.
- Run pytest cases on lowest Py version
- Run pytest cases with python warnings enabled.
  - python -W once -m pytest -vv tests
  - python -W default -m pytest -vv tests
- git ls-files shows the files under version control
- Run mypy against package sources
- Run black code reformatter
- Run isort
- Run flake8
- Run flake8 on doc and tests (fixture import and use errors are expected)
- Build docs python docs/premkdocs.py --start-server --clean

Prepare release on the develop branch.
( ) On GitHub manually dispatch action "Buildable" (build.yml).
    Inspect the log to make sure newly added files are copied to the dist.

( ) On GitHub manually dispatch action "CI" (ci.yml) on the develop branch.

( ) On GitHub manually dispatch action "Dev" (dev.yml) on the develop branch.
    Here we try the scripts in the dev folder with the installation extra [dev].
    The dev scripts are useful during development on a local machine.
    Not all the commands return success.
    Success of the Dev action is not required for publishing.

( ) Open pull request and merge develop branch to main branch.

On main branch
( ) Create a release on GitHub (where 0.0.0 -> published version)
  - tag= v0.0.0
  - release= phmutest 0.0.0
  - description= Version 0.0.0 uploaded to Python Package Index.

( ) Publish to PYPI
  On GitHub manually dispatch action "Publish to PYPI" (publish.yml).
  Configure trusted publishing on both test PYPI and PYPI if this is
  the first release.

Check the release on PYPI
( ) The hash on PYPI should be the same as the hash shown by the
    publish.yml builddist action step.

( ) Manually dispatch "Install from PYPI" (wheel.yml) to show pip
    install succeeds.

( ) Deploy docs to GitHub pages
  On GitHub manually dispatch action "Deploy Pages" (pages.yml).

  -------------------------------------------------------------------------
  Legacy manual steps
  - On GitHub manually dispatch build.yml on the release ref
  - Download dist artifact uploaded by build.yml to an empty directory.
  - upload to PYPI
    python -m pip install --upgrade pip
	python -m pip install --upgrade setuptools wheel twine
	python setup.py sdist bdist_wheel
	twine upload dist/*

  - On GitHub manually dispatch wheel.yml to try installing from PYPI
  Alternate manual steps
    Look up on PYPI and check version
    install from PYPI and verify phmutest.__version__
    install in venv on Ubuntu

  - The hash on PYPI should be the same as the hash shown by the
    builddist action step.
