name: Deploy

on:
  push:
    branches:
      - master
  release:
    types:
      - published

jobs:
  build:
    if: github.repository == 'pylast/pylast'
    runs-on: ubuntu-20.04

    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0

      - name: Cache
        uses: actions/cache@v2
        with:
          path: ~/.cache/pip
          key: deploy-${{ hashFiles('**/setup.py') }}
          restore-keys: |
            deploy-

      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.9

      - name: Install dependencies
        run: |
          python -m pip install -U pip
          python -m pip install -U setuptools twine wheel

      - name: Build package
        run: |
          python setup.py --version
          python setup.py sdist --format=gztar bdist_wheel
          twine check dist/*

      - name: Publish package to PyPI
        if: github.event.action == 'published'
        uses: pypa/gh-action-pypi-publish@master
        with:
          user: __token__
          password: ${{ secrets.pypi_password }}

      - name: Publish package to TestPyPI
        uses: pypa/gh-action-pypi-publish@master
        with:
          user: __token__
          password: ${{ secrets.test_pypi_password }}
          repository_url: https://test.pypi.org/legacy/

Deploy to TestPyPI on merges to master, to prod PyPI for tags
Deploy to TestPyPI on merges to master, to prod PyPI for tags
