diff --git a/.github/workflows/publish-on-pypi.yml b/.github/workflows/publish-on-pypi.yml new file mode 100644 index 000000000..72ca43a89 --- /dev/null +++ b/.github/workflows/publish-on-pypi.yml @@ -0,0 +1,37 @@ +name: Publish release to PyPI + +on: + workflow_dispatch: + release: + types: [published] + +jobs: + build-and-upload: + runs-on: ubuntu-latest + + steps: + - name: Check out the release commit + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.8' + + - name: Install Python packages needed for build and upload + run: | + python -m pip install build twine + + - name: Build sdist + run: | + python -m build --sdist + + - name: Publish to PyPI + + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + + run: | + python -m twine check --strict dist/* + python -m twine upload dist/*