From 302d1eda7f602fbe98d645d73eb2a5de9f94494d Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Tue, 2 Jul 2024 10:45:41 +0200 Subject: [PATCH] py: revise publishing workflow --- .github/workflows/publish.yml | 102 +++++++++++++++++++++++++++------- 1 file changed, 81 insertions(+), 21 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3a87893..c141956 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -6,32 +6,92 @@ on: - py-* jobs: - All: + build: strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python: ["3.8", "3.9", "3.10", "3.11"] + include: + - os: ubuntu-latest + target: x86_64 + python: "3.9" + - os: ubuntu-latest + target: x86_64 + python: "3.10" + - os: ubuntu-latest + target: x86_64 + python: "3.11" + - os: ubuntu-latest + target: x86_64 + python: "3.12" + - os: windows-latest + target: x64 + python: "3.9" + - os: windows-latest + target: x64 + python: "3.10" + - os: windows-latest + target: x64 + python: "3.11" + - os: windows-latest + target: x64 + python: "3.12" + - os: macos-latest + target: aarch64 + python: "3.9" + - os: macos-latest + target: aarch64 + python: "3.10" + - os: macos-latest + target: aarch64 + python: "3.11" + - os: macos-latest + target: aarch64 + python: "3.12" + - os: macos-latest + target: x64 + python: "3.9" + - os: macos-latest + target: x64 + python: "3.10" + - os: macos-latest + target: x64 + python: "3.11" + - os: macos-latest + target: x64 + python: "3.12" runs-on: ${{ matrix.os }} - environment: "Publish wheels" - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - uses: actions/setup-python@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} - architecture: x64 - - name: Publish - uses: messense/maturin-action@v1 + - name: Build wheels + uses: PyO3/maturin-action@v1 with: - command: publish - args: -m instant-distance-py/Cargo.toml - --no-sdist - --username __token__ - --password ${{ secrets.PYPI_TOKEN }} - --interpreter python${{ matrix.python }} + working-directory: instant-segment-py + target: ${{ matrix.target }} + args: --release --out ../dist --find-interpreter + sccache: 'true' + manylinux: auto + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist + + release: + environment: "Publish wheels" + name: Release + runs-on: ubuntu-latest + needs: [build] + steps: + - uses: actions/download-artifact@v3 + with: + name: wheels + - name: Publish to PyPI + uses: PyO3/maturin-action@v1 + env: + MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + with: + command: upload + args: --non-interactive --skip-existing *