name: release

on:
  release:
    types: [published]

jobs:
  before-release:
    uses: ansible-community/ansible-compat/.github/workflows/tox.yml@main

  release:
    name: release ${{ github.event.ref }}
    needs: before-release
    # unable to use environment with uses/with, basically cannot reuse release pipelines
    environment: release
    runs-on: ubuntu-20.04

    env:
      FORCE_COLOR: 1
      PY_COLORS: 1
      TOXENV: packaging
      TOX_PARALLEL_NO_SPINNER: 1

    steps:
      - name: Switch to using Python 3.8 by default
        uses: actions/setup-python@v2
        with:
          python-version: 3.8
      - name: Install tox
        run: >-
          python3 -m
          pip install
          --user
          tox
      - name: Check out src from Git
        uses: actions/checkout@v2
        with:
          fetch-depth: 0 # needed by setuptools-scm
      - name: Build dists
        run: python -m tox
      - name: Publish to test.pypi.org
        uses: pypa/gh-action-pypi-publish@master
        with:
          password: ${{ secrets.testpypi_password }}
          repository_url: https://test.pypi.org/legacy/
      - name: Publish to pypi.org
        uses: pypa/gh-action-pypi-publish@master
        with:
          password: ${{ secrets.pypi_password }}
