# This workflow will:
# run only after "Unit Tests" workflow is passed.

# - build-n-publish: Build and Publish Python package
# to TestPyPI.

name: Publish Package on TestPyPI

on:
  workflow_run:
    workflows: ["Tests"]
    branches: [main]
    types:
      - completed

jobs:
  build-n-publish:
    name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3

    - name: Set up Python 3.11
      uses: actions/setup-python@v4
      with:
        python-version: "3.11"

    - 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/
        .

    # Publish to TestPyPI
    - name: Publish distribution 📦 to Test PyPI
      uses: pypa/gh-action-pypi-publish@release/v1
      with:
        password: ${{ secrets.TEST_PYPI_API_TOKEN }}
        repository_url: https://test.pypi.org/legacy/