Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
with:
python-version: '3.12'
- name: Install deps
run: pip install -U maturin>=1.9.0,<2.0 build
run: pip install -U "maturin>=1.9.0,<2.0" build
- name: Build sdist
run: python -m build --sdist
- uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *win32 *musl*
CIBW_SKIP: pp* cp314t-*ppc64le *win32 *musl*
CIBW_ARCHS_LINUX: ppc64le
- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -154,7 +154,7 @@ jobs:
source .venv/bin/activate
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *win32 *musl*
CIBW_SKIP: pp* cp314t-*s390x *win32 *musl*
CIBW_ARCHS_LINUX: s390x
- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -199,7 +199,7 @@ jobs:
run: |
python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_SKIP: pp* cp314t* *amd64 *musl*
CIBW_SKIP: pp* cp314t-win* *amd64 *musl*
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
Expand Down
122 changes: 122 additions & 0 deletions .github/workflows/wheels2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
name: Wheel Builds Dry Run
on:
push:
pull_request:
branches: [ main, 'stable/*' ]

jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
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: dry-run-wheel-builds-${{ matrix.os }}

build_wheels_ppc64le:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
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* cp314t-*ppc64le *win32 *musl*
CIBW_ARCHS_LINUX: ppc64le
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: dry-run-wheel-builds-ppc64le

build_wheels_s390x:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
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: dry-run-wheel-builds-s390x

build-win32-wheels:
name: Build wheels on win32
runs-on: windows-latest
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* cp314t-win* *amd64 *musl*
- uses: actions/upload-artifact@v4
with:
path: ./wheelhouse/*.whl
name: dry-run-wheel-builds-win32
8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -130,24 +130,24 @@ extend-ignore-words-re = [
[tool.cibuildwheel]
manylinux-x86_64-image = "manylinux2014"
manylinux-i686-image = "manylinux2014"
skip = "pp* cp314t* *win32 *musllinux*i686"
skip = "pp* cp314t-win* cp314t-*i686 cp314t-*s390x cp314t-*ppc64le *win32 *musllinux*i686"
test-requires = "networkx"
test-command = "python -m unittest discover {project}/tests"
before-build = "pip install -U maturin>=1.9.0,<2.0"
before-build = 'pip install -U "maturin>=1.9.0,<2.0"'
test-skip = "*linux_s390x *ppc64le *i686 *win32"

[tool.cibuildwheel.linux]
before-all = "yum install -y wget && {package}/tools/install_rust.sh"
environment = 'PATH="$PATH:$HOME/.cargo/bin" CARGO_NET_GIT_FETCH_WITH_CLI="true"'
repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel} && pipx run abi3audit==0.0.9 --strict --report {wheel}"
repair-wheel-command = 'auditwheel repair -w {dest_dir} {wheel} && if echo "{wheel}" | grep -vq cp314t; then pipx run abi3audit==0.0.9 --strict --report {wheel}; else echo "Skipping abi3audit for free-threaded wheel"; fi'

[[tool.cibuildwheel.overrides]]
select = "*-musllinux*"
before-all = "apk add --no-cache curl gcc && curl https://sh.rustup.rs -sSf | sh -s -- -y && source $HOME/.cargo/env && rustup install stable && rustup default stable"

[tool.cibuildwheel.macos]
environment = "MACOSX_DEPLOYMENT_TARGET=10.12"
repair-wheel-command = "brew install pipx && pipx ensurepath && pipx run --spec delocate==0.11.0 delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} && pipx run abi3audit==0.0.9 --strict --report {wheel}"
repair-wheel-command = 'brew install pipx && pipx ensurepath && pipx run --spec delocate==0.11.0 delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} && if echo "{wheel}" | grep -vq cp314t; then pipx run abi3audit==0.0.9 --strict --report {wheel}; else echo "Skipping abi3audit for free-threaded wheel"; fi'

[tool.cibuildwheel.windows]
repair-wheel-command = "cp {wheel} {dest_dir}/. && pipx run abi3audit==0.0.9 --strict --report {wheel}"
6 changes: 6 additions & 0 deletions releasenotes/notes/py314t-wheels-d4fdda24054c9f84.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
features:
- |
Added Python 3.14 free-threaded wheels for Linux and macOS. See
`#1251 <https://github.com/Qiskit/rustworkx/issues/1251>`__ for more
details.
Loading