name: Upload Python Package to PyPi
# https://docs.github.com/en/actions/guides/building-and-testing-python
# https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
on:
  release:
    types: [published]

jobs:
  deploy:
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python
      uses: actions/setup-python@v5.0.0
      with:
        python-version: '3.10.13'
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r dev-requirements.txt
    - name: Build and publish
      run: |
        python setup.py bdist_wheel
    - name: Publish distribution 📦 to PyPI
      if: startsWith(github.ref, 'refs/tags')
      uses: pypa/gh-action-pypi-publish@master
      with:
        user: __token__
        password: ${{ secrets.PYPI_API_TOKEN }}