name: publish on: workflow_dispatch: inputs: gitref: type: string description: "what git tag to build (e.g. v0.0.74)" required: true jobs: build: name: "Build and upload wheels" runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 with: ref: ${{ github.event.inputs.gitref }} - name: Install uv uses: astral-sh/setup-uv@v3 with: version: "latest" - name: Set up Python run: uv python install 3.10 - name: Install development dependencies run: uv sync --group dev - name: Build project run: uv build - name: Upload wheels uses: actions/upload-artifact@v4 with: name: wheels path: ./dist publish-to-pypi: name: "Publish to PyPI" runs-on: ubuntu-latest needs: [ build ] environment: name: pypi url: https://pypi.org/p/pipecat-ai permissions: id-token: write steps: - name: Download wheels uses: actions/download-artifact@v4 with: name: wheels path: ./dist - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: verbose: true print-hash: true publish-to-test-pypi: name: "Publish to Test PyPI" runs-on: ubuntu-latest needs: [ build ] environment: name: testpypi url: https://pypi.org/p/pipecat-ai permissions: id-token: write steps: - name: Download wheels uses: actions/download-artifact@v4 with: name: wheels path: ./dist - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: verbose: true print-hash: true repository-url: https://test.pypi.org/legacy/