name: Release on: push: tags: ["v*.*.*"] permissions: contents: write jobs: release: name: Build & Publish runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup uv uses: astral-sh/setup-uv@v3 with: enable-cache: true - name: Build distributions run: uv build - name: Publish to PyPI run: uv publish --token "${{ secrets.PYPI_TOKEN }}" - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: name: Release ${{ github.ref_name }} body: | Automated release from CI. See [changelog](https://pyflowx.readthedocs.io/zh/latest/changelog.html) for details. files: dist/* draft: false prerelease: false