# Based on: https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI on: workflow_dispatch jobs: build-n-publish: name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.8" - name: Install dependencies run: | python -m pip install --upgrade pip pytest cmake scikit-build setuptools - name: Build source distribution run: | python setup.py sdist # - name: Install pypa/build # run: >- # python -m # pip install # build # --user # - name: Build a binary wheel and a source tarball # run: >- # python -m # build # --sdist # --wheel # --outdir dist/ # . - name: Publish distribution 📦 to Test PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.TEST_PYPI_API_TOKEN }} repository-url: https://test.pypi.org/legacy/ # - name: Publish distribution 📦 to PyPI # if: startsWith(github.ref, 'refs/tags') # uses: pypa/gh-action-pypi-publish@release/v1 # with: # password: ${{ secrets.PYPI_API_TOKEN }}