name: Publish on: push: tags: - "v*" workflow_dispatch: permissions: contents: read jobs: build: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: version: "latest" enable-cache: false - name: Build distributions run: uv build - name: Check package metadata run: uvx twine check --strict dist/* - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: dist path: dist/* publish: needs: build runs-on: ubuntu-latest environment: name: pypi url: https://pypi.org/project/speech-to-speech/ permissions: contents: read id-token: write steps: - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: dist path: dist - uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1