name: Publish

on:
  push:
    tags:
      - 'v*'
  release:
    types:
      - published
  workflow_dispatch:

jobs:
  pypi-publish:
    name: Upload release to PyPI
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Set up Python
      uses: actions/setup-python@v1
      with:
        python-version: "3.x"
    - name: Install pypa/build
      run: >-
        python -m
        pip install
        build
        --user
    - name: Build a binary wheel and a source tarball
      run: >-
        python -m
        build
        --sdist
        --wheel
        --outdir dist/
        .
    - name: Publish distribution to PyPI
      uses: pypa/gh-action-pypi-publish@release/v1
      with:
        username: __token__
        password: ${{ secrets.PYPI_API_TOKEN }}