publish-python.yml
1 name: Publish Python SDK 2 3 on: 4 push: 5 tags: ["v*"] 6 workflow_dispatch: 7 8 permissions: 9 contents: read 10 11 jobs: 12 build-wheels: 13 name: Build wheels (${{ matrix.target }}) 14 runs-on: ${{ matrix.os }} 15 strategy: 16 fail-fast: false 17 matrix: 18 include: 19 - os: ubuntu-latest 20 target: x86_64-unknown-linux-gnu 21 args: "" 22 - os: ubuntu-latest 23 target: aarch64-unknown-linux-gnu 24 args: "--zig" 25 - os: macos-latest 26 target: universal2-apple-darwin 27 args: "" 28 - os: windows-latest 29 target: x86_64-pc-windows-msvc 30 args: "" 31 steps: 32 - uses: actions/checkout@v4 33 34 - uses: actions/setup-python@v5 35 with: 36 python-version: "3.12" 37 38 - name: Build wheels 39 uses: PyO3/maturin-action@v1 40 with: 41 target: ${{ matrix.target }} 42 args: --release --out dist ${{ matrix.args }} 43 working-directory: packages/auths-verifier-python 44 sccache: "true" 45 46 - uses: actions/upload-artifact@v4 47 with: 48 name: wheels-${{ matrix.target }} 49 path: packages/auths-verifier-python/dist/*.whl 50 51 build-sdist: 52 name: Build sdist 53 runs-on: ubuntu-latest 54 steps: 55 - uses: actions/checkout@v4 56 57 - name: Build sdist 58 uses: PyO3/maturin-action@v1 59 with: 60 command: sdist 61 args: --out dist 62 working-directory: packages/auths-verifier-python 63 64 - uses: actions/upload-artifact@v4 65 with: 66 name: sdist 67 path: packages/auths-verifier-python/dist/*.tar.gz 68 69 publish: 70 name: Publish to PyPI 71 needs: [build-wheels, build-sdist] 72 runs-on: ubuntu-latest 73 permissions: 74 id-token: write 75 environment: 76 name: pypi 77 url: https://pypi.org/p/auths-verifier 78 steps: 79 - uses: actions/download-artifact@v4 80 with: 81 path: dist 82 merge-multiple: true 83 84 - name: Publish to PyPI 85 uses: pypa/gh-action-pypi-publish@release/v1 86 with: 87 packages-dir: dist/