# This workflow will build and (if release) publish Python distributions to PyPI # For more information see: # - https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions # - https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ # --- name: build-publish on: push: branches: [master] pull_request: branches: [master] release: types: [published] jobs: build-wheels: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.x' - name: Install pypa/build run: >- python -m pip install -U build - name: Build a binary wheel and a source tarball run: >- python -m build --sdist --wheel --outdir dist/ . - name: Store wheels uses: actions/upload-artifact@v3 with: path: dist publish: runs-on: ubuntu-latest needs: - build-wheels if: github.event_name == 'release' && github.event.action == 'published' steps: - name: Download dists uses: actions/download-artifact@v3 with: name: artifact path: dist - name: Publish uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_API_TOKEN }}