Skip to content

Commit 5ecfdb7

Browse files
Update platform tiers (#1448)
* Change platform tiers * Add release notes explaining platform tier changes * Minor grammar correction * Apply suggestions from code review Co-authored-by: Matthew Treinish <[email protected]> * Adding all aarch64 tests --------- Co-authored-by: Matthew Treinish <[email protected]>
1 parent ba6d65b commit 5ecfdb7

File tree

4 files changed

+34
-15
lines changed

4 files changed

+34
-15
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,16 @@ jobs:
6666
{ os: "macOS-13", python-architecture: "x64", rust-target: "x86_64-apple-darwin" },
6767
{ os: "macOS-14", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" },
6868
{ os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" },
69+
{ os: "ubuntu-24.04-arm", python-architecture: "arm64", rust-target: "aarch64-unknown-linux-gnu" },
6970
{ os: "windows-latest", python-architecture: "x64", rust-target: "x86_64-pc-windows-msvc" },
7071
]
7172
include:
72-
# Test minimal supported Rust version
73+
# Test ARM + minimal supported Rust version
7374
- rust: 1.79.0
7475
python-version: "3.10"
7576
platform: { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }
7677
msrv: "MSRV"
77-
# Test future versions of Rust and Python
78+
# Test ARM + future versions of Rust and Python
7879
- rust: beta
7980
python-version: "3.13" # upgrade to 3.14-dev when the release candidate is available
8081
platform: { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" }

docs/source/install.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,28 +74,28 @@ source.
7474
- :ref:`tier-1`
7575
- Distributions compatible with the `manylinux 2014`_ packaging specification
7676
* - Linux
77-
- i686
78-
- :ref:`tier-2` (Python < 3.10), :ref:`tier-3` (Python >= 3.10)
77+
- aarch64
78+
- :ref:`tier-1`
7979
- Distributions compatible with the `manylinux 2014`_ packaging specification
8080
* - Linux
81-
- aarch64
82-
- :ref:`tier-2`
81+
- i686
82+
- :ref:`tier-4`
8383
- Distributions compatible with the `manylinux 2014`_ packaging specification
8484
* - Linux
8585
- pp64le
86-
- :ref:`tier-3`
86+
- :ref:`tier-4`
8787
- Distributions compatible with the `manylinux 2014`_ packaging specification
8888
* - Linux
8989
- s390x
9090
- :ref:`tier-4`
9191
- Distributions compatible with the `manylinux 2014`_ packaging specification
9292
* - Linux (musl)
9393
- x86_64
94-
- :ref:`tier-3`
94+
- :ref:`tier-2`
9595
-
9696
* - Linux (musl)
9797
- aarch64
98-
- :ref:`tier-4`
98+
- :ref:`tier-2`
9999
-
100100
* - macOS (10.12 or newer)
101101
- x86_64
@@ -111,7 +111,7 @@ source.
111111
-
112112
* - Windows 32bit
113113
- i686 or x86_64
114-
- :ref:`tier-2` (Python < 3.10), :ref:`tier-3` (Python >= 3.10)
114+
- :ref:`tier-4`
115115
-
116116

117117

pyproject.toml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ skip = "pp* cp36-* cp37-* cp38-* *win32 *musllinux*i686"
138138
test-requires = "networkx"
139139
test-command = "python -m unittest discover {project}/tests"
140140
before-build = "pip install -U setuptools-rust"
141-
test-skip = "*linux_s390x *ppc64le *musllinux*aarch64"
141+
test-skip = "*linux_s390x *ppc64le *i686 *win32"
142142

143143
[tool.cibuildwheel.linux]
144144
before-all = "yum install -y wget && {package}/tools/install_rust.sh"
@@ -149,10 +149,6 @@ repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel} && pipx run abi3
149149
select = "*-musllinux*"
150150
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"
151151

152-
[[tool.cibuildwheel.overrides]]
153-
select = "*i686"
154-
before-test = 'python -m pip install numpy --config-settings=setup-args="-Dallow-noblas=true"'
155-
156152
[tool.cibuildwheel.macos]
157153
environment = "MACOSX_DEPLOYMENT_TARGET=10.12"
158154
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}"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
upgrade:
3+
- |
4+
There have been changes to the support tiers for some platforms. These changes
5+
reflect the current state of supporting each of the underlying platforms.
6+
7+
* Linux for aarch64 has been upgraded to tier 1, and will now be built and tested
8+
as part of upstream development on every commit.
9+
* Linux for x86_64 (musl) and aarch64 (musl) have been upgraded to tier 2, and
10+
will be built and tested as part of the release process. NumPy also provides
11+
wheels for these platforms, so we expect most users to install from PyPI with
12+
little effort.
13+
* Linux for ppc64le has been downgraded to tier 4. We will still publish wheels for
14+
this platform, but they will not be tested. This is due to limitations in the CI infrastructure available and
15+
our inability to reliably test the platform.
16+
* Linux for i686 has been downgraded to tier 4. We will still publish wheels for this
17+
platform, but they will not be tested as NumPy no longer provides i686 wheels. Users
18+
will need a C/C++ compiler to install rustworkx on these platforms due to our dependency
19+
on NumPy.
20+
* Windows 32-bits has been downgraded to tier 4. Although NumPy publishes win32 wheels,
21+
the support of `rust-numpy <https://github.com/PyO3/rust-numpy>`__ for win32 is precarious and might be dropped at any time.
22+
If possible, we recommend using the 64-bit version of Python on Windows where we have tier 1 support.

0 commit comments

Comments
 (0)