diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..5805300 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,48 @@ +name: Publish Python distributions to PyPI +on: push + +jobs: + build-n-publish: + name: Build and publish Python distributions to PyPI + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + environment: release + + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.x" + + - name: Install pypa/build + run: >- + python3 -m + pip install + --upgrade + build + + - name: Initialize submodules + run: | + git submodule update --init + + - name: Build SDist and wheel + run: python3 -m build + + - uses: actions/upload-artifact@v3 + with: + path: dist/* + + - name: Check metadata + run: pipx run twine check dist/* + + - uses: actions/download-artifact@v3 + with: + name: artifact + path: dist + + - name: Publish distribution to PyPI + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file