name: PyPi Release

# https://help.github.com/en/actions/reference/events-that-trigger-workflows
on:
  # Only trigger on release creation
  release:
    types:
      - created
  workflow_dispatch:


# based on https://github.com/pypa/gh-action-pypi-publish

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
      with:
        python-version: 3.9

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip setuptools wheel
        if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
    - name: Build
      run: >-
        python setup.py sdist bdist_wheel
    # We do this, since failures on test.pypi aren't that bad
    - name: Publish to Test PyPI
      if: startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release'
      uses: pypa/gh-action-pypi-publish@release/v1
      with:
        user: __token__
        password: ${{ secrets.TEST_PYPI_API_TOKEN }}
        repository_url: https://test.pypi.org/legacy/

    - name: Publish to PyPI
      if: startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release'
      uses: pypa/gh-action-pypi-publish@release/v1
      with:
        user: __token__
        password: ${{ secrets.PYPI_API_TOKEN }}
