diff --git a/.github/workflows/pypi-publish.yaml b/.github/workflows/pypi-publish.yaml new file mode 100644 index 0000000..80e4b67 --- /dev/null +++ b/.github/workflows/pypi-publish.yaml @@ -0,0 +1,31 @@ +name: "Build and publish package to PyPI" + +on: + push: + tags: + - '*' + +jobs: + build-n-publish: + name: "Build and publish package to PyPI" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Install pypa/setuptools + run: python -m pip install wheel + - name: Extract tag name + id: tag + run: 'echo "TAG_NAME=$(echo $GITHUB_REF | cut -d / -f 3)" >> $GITHUB_OUTPUT' + - name: Update version in setup.py + run: >- + sed -i "s/{{VERSION_PLACEHOLDER}}/${{ steps.tag.outputs.TAG_NAME }}/g" setup.py + - name: Build a binary wheel + run: python setup.py sdist bdist_wheel + - name: "Publish package to PyPI" + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: '${{ secrets.PYPI_API_TOKEN }}'