Skip to content

Prepare 0.18.1 release (#1653) #152

Prepare 0.18.1 release (#1653)

Prepare 0.18.1 release (#1653) #152

Workflow file for this run

---
name: Wheel Builds
on:
push:
tags:
- '*'
jobs:
sdist:
name: Build sdist
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["upload_shared_wheels"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- name: Install deps
run: pip install -U "maturin>=1.9.0,<2.0" build
- name: Build sdist
run: python -m build --sdist
- uses: actions/upload-artifact@v4
with:
path: ./dist/*
name: sdist-rustworkx
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: release
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-15-intel, macos-14, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- uses: dtolnay/rust-toolchain@stable
- name: Install cibuildwheel
run: |
python -m pip install -U --group releaseinfra
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: shared-wheel-builds-${{ matrix.os }}
upload_shared_wheels:
name: Upload shared build wheels
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["build_wheels", "build-win32-wheels"]
steps:
- uses: actions/download-artifact@v4
with:
pattern: shared-wheel-builds-*
merge-multiple: true
path: deploy
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: deploy
build_wheels_ppc64le:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: release
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04-ppc64le]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install uv
run: |
python3 -m pip install --user uv==0.11.2
- name: Install cibuildwheel dependencies
run: |
python3 -m uv python install 3.12
python3 -m uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install --group releaseinfra
- name: Build wheels
run: |
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* *win32 *musl*
CIBW_ARCHS_LINUX: ppc64le
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: wheel-builds-ppc64le
upload_wheels_ppc64le:
name: Upload wheels for ppc64le
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["build_wheels_ppc64le", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-ppc64le
path: wheelhouse
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build_wheels_s390x:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment: release
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04-s390x]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install uv
run: |
python3 -m pip install --user uv==0.11.2
- name: Install cibuildwheel dependencies
run: |
python3 -m uv python install 3.12
python3 -m uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install --group releaseinfra
- name: Build wheels
run: |
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t-*s390x *win32 *musl*
CIBW_ARCHS_LINUX: s390x
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: wheel-builds-s390x
upload_wheels_s390x:
name: Upload wheels for s390x
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["build_wheels_s390x", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-s390x
path: wheelhouse
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build_emscripten:
name: Build wheels for Pyodide (Emscripten)
runs-on: ubuntu-latest
environment: release
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-emscripten
components: rust-src
- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==4.1.0
- name: Build wheels
run: |
python -m cibuildwheel --platform pyodide --output-dir wheelhouse
env:
CIBW_BUILD: cp314-pyodide_wasm32
CIBW_BUILD_VERBOSITY: 3
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: wheel-builds-emscripten
upload_emscripten:
name: Upload wheels for Pyodide (Emscripten)
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
needs: ["build_emscripten", "upload_shared_wheels"]
steps:
- uses: actions/download-artifact@v4
with:
name: wheel-builds-emscripten
path: wheelhouse
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
build-win32-wheels:
name: Build wheels on win32
runs-on: windows-latest
environment: release
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
architecture: 'x86'
- uses: dtolnay/rust-toolchain@stable
with:
targets: i686-pc-windows-msvc
- name: Force win32 rust
run: rustup default stable-i686-pc-windows-msvc
- name: Install cibuildwheel
run: |
python -m pip install -U --group releaseinfra
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* c*t-win* *amd64 *musl*
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: shared-wheel-builds-win32