name: Upload Python Package
on:
  release:
    types:
    - published
permissions:
  contents: read
jobs:
  release-build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: actions/setup-python@v5
      with:
        python-version: 3.x
    - name: Build release distributions
      run: |
        # NOTE: put your own distribution build steps here.
        python -m pip install uv
        uv build
    - name: Upload distributions
      uses: actions/upload-artifact@v4
      with:
        name: release-dists
        path: dist/
  pypi-publish:
    runs-on: ubuntu-latest
    needs:
    - release-build
    permissions:
      id-token: write
    environment:
      name: pypi
    steps:
    - name: Retrieve release distributions
      uses: actions/download-artifact@v4
      with:
        name: release-dists
        path: dist/
    - name: Publish release distributions to PyPI
      uses: pypa/gh-action-pypi-publish@release/v1
      with:
        packages-dir: dist/
