name: Upload to PyPI

on:
  # Triggers the workflow when a release is created
  release:
    types: [released]
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  upload:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: 3.12

      - name: "Installs dependencies"
        run: |
          pip install -U uv
          uv sync --group dev --group test
          pip install -e .

      - name: "Builds and uploads to PyPI"
        run: |
          uv build
          uv publish

        env:
          UV_PUBLISH_TOKEN: ${{ secrets.TOKEN_PYPI }}