name: Publish Python 🐍 distributions 📦 to PyPI on: release: types: [published] defaults: run: shell: bash jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup uv uses: ./.github/actions/setup-uv - name: Verify tag matches version run: | set -ex version=$(grep -m 1 version pyproject.toml | grep -P '\d+\.\d+\.\d+' -o) tag="${GITHUB_REF/refs\/tags\/}" if [[ "v$version" != "$tag" ]]; then exit 1 fi - name: Set up Python run: uv python install 3.12 - name: Build sdist and wheel run: uv build - name: Test installation of sdist and wheel run: | uv venv --no-project uv pip install dist/*.tar.gz uv pip install dist/*.whl - uses: actions/upload-artifact@v4 with: name: build path: dist/* publish-artifacts: name: Publish to PyPI runs-on: ubuntu-latest needs: [build] environment: name: release url: https://pypi.org/p/coqui-tts permissions: id-token: write steps: - uses: actions/download-artifact@v4 with: path: "dist/" name: build - run: | ls -lh dist/ - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@release/v1