name: cd

on:
  push:
    tags:
      - "v*"

jobs:
  tagged-release:
    name: Tagged Release
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.10.x'
    - name: Install Poetry
      uses: abatilo/actions-poetry@v2.1.0
      with:
        poetry-version: '1.1.11'
    - name: Configure poetry
      run: poetry config virtualenvs.in-project true
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip wheel
        poetry install
    - name: Build a wheel
      run: poetry build
    - name: Upload wheel
      uses: actions/upload-artifact@v2.2.4
      with:
        name: Python Wheel
        path: "dist/*.whl"
    - name: Deploy release
      uses: marvinpinto/action-automatic-releases@latest
      with:
        prerelease: false
        repo_token: "${{ secrets.GITHUB_TOKEN }}"
        files: |
          dist/*.whl
    - name: Publish to PyPI
      env:
        POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }}
      run: poetry publish