name: Release on: workflow_dispatch: pull_request: release: types: - published jobs: dist: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Build SDist and wheel run: pipx run build - uses: actions/upload-artifact@v4 with: name: cibw-sdist path: dist/* - name: Check metadata run: pipx run twine check dist/* publish: needs: [dist] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' environment: pypi permissions: id-token: write steps: - uses: actions/download-artifact@v4 with: pattern: cibw-* path: dist merge-multiple: true - uses: pypa/gh-action-pypi-publish@release/v1