[Chapel Merge] Add a sphinx domain github action workflow to uplo

Branch: refs/heads/main
Revision: be783b3
Author: ronawho
Link: Unavailable
Log Message:

Merge pull request #57 from ronawho/add-pypi-upload-action

Add a sphinx domain github action workflow to upload to PyPI

[reviewed by @lydia-duncan]

Previously, we would manually run util/release.bash to tag a new
release and upload it to PyPI. This required having local PyPI
credentials and being careful that your branches were all up to date.

This adds a github action to simplify and automate release creation.
When a new release is created (or if manually started) the job will run
testing and if that passes will then create the release and upload it.
We run the test and build/upload steps in separate jobs to ensure we
have a clean environment for the upload. And note that testing manually
installs the package and runs pytest instead of using tox, just to make
sure that things work from a user perspective and there's no
dependencies that are listed in tox, but not setup.py.

By default this will upload to the official pypi repo and authentication
is done with a secret token. To test releases, there is also an option
to upload to test.pypi.

Modified Files:
A .github/workflows/python-publish.yml

Compare: https://github.com/chapel-lang/sphinxcontrib-chapeldomain/compare/a3b0913b4b6e...be783b370134