Skip to content

Commit 8720cd3

Browse files
Apply wheel job fixes from 0.13.0 release (#896)
* Apply wheel job fixes from 0.13.0 release This commit applies the various fixes needed to the wheel publishing job definitions for the 0.13.0 release. There were several jon errors during the release which were caused by various changes made to rustworkx, upstream dependencies, and CI environment since the 0.12.0 which caused issues during the release process. #753 should still be finished to simplify the job definitions, but that should be rebased to take this more targeted fix. The intent is for this to be a minimal diff for backporting to stable/0.13 for a future 0.13.1 release. Of particular importance here though is the change in support tier for s390x from 3 to 4. This was caused by repeated issues with timeouts caused by running tests during the s390x linux wheel builds. To ensure we can reliably build the wheels this drops the testing from the s390x so that they can reliably complete in 12 job hours. * Fix docs * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml Co-authored-by: Edwin Navarro <[email protected]> --------- Co-authored-by: Edwin Navarro <[email protected]>
1 parent 8fe10cb commit 8720cd3

File tree

3 files changed

+36
-19
lines changed

3 files changed

+36
-19
lines changed

.github/workflows/wheels.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest
6868
CIBW_SKIP: cp36-* pp* *win32 *musl*
6969
CIBW_BEFORE_BUILD: pip install -U setuptools-rust
70-
CIBW_TEST_REQUIRES: networkx scipy testtools fixtures
70+
CIBW_TEST_REQUIRES: networkx testtools fixtures
7171
CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests
7272
- uses: actions/upload-artifact@v3
7373
with:
@@ -92,7 +92,7 @@ jobs:
9292
python-version: '3.7'
9393
- uses: dtolnay/rust-toolchain@stable
9494
- name: Set up QEMU
95-
uses: docker/setup-qemu-action@v1
95+
uses: docker/setup-qemu-action@v2
9696
with:
9797
platforms: all
9898
- name: Install cibuildwheel
@@ -135,7 +135,7 @@ jobs:
135135
python-version: '3.7'
136136
- uses: dtolnay/rust-toolchain@stable
137137
- name: Set up QEMU
138-
uses: docker/setup-qemu-action@v1
138+
uses: docker/setup-qemu-action@v2
139139
with:
140140
platforms: all
141141
- name: Install cibuildwheel
@@ -150,7 +150,7 @@ jobs:
150150
CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9
151151
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest
152152
CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest
153-
CIBW_SKIP: cp36-* cp39-* cp310-* pp* *win32 *musl*
153+
CIBW_SKIP: cp36-* cp39-* cp310-* cp311-* pp* *win32 *musl*
154154
CIBW_BEFORE_BUILD: pip install -U setuptools-rust
155155
CIBW_TEST_REQUIRES: networkx testtools fixtures
156156
CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests
@@ -178,7 +178,7 @@ jobs:
178178
python-version: '3.7'
179179
- uses: dtolnay/rust-toolchain@stable
180180
- name: Set up QEMU
181-
uses: docker/setup-qemu-action@v1
181+
uses: docker/setup-qemu-action@v2
182182
with:
183183
platforms: all
184184
- name: Install cibuildwheel
@@ -221,7 +221,7 @@ jobs:
221221
python-version: '3.7'
222222
- uses: dtolnay/rust-toolchain@stable
223223
- name: Set up QEMU
224-
uses: docker/setup-qemu-action@v1
224+
uses: docker/setup-qemu-action@v2
225225
with:
226226
platforms: all
227227
- name: Install cibuildwheel
@@ -236,11 +236,12 @@ jobs:
236236
CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9
237237
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux2014_x86_64:latest
238238
CIBW_MANYLINUX_I686_IMAGE: quay.io/pypa/manylinux2014_i686:latest
239-
CIBW_SKIP: cp36-* cp39-* cp310-* pp* *win32 *musl*
239+
CIBW_SKIP: cp36-* cp39-* cp310-* cp311-* pp* *win32 *musl*
240240
CIBW_BEFORE_BUILD: pip install -U setuptools-rust
241241
CIBW_TEST_REQUIRES: networkx testtools fixtures
242242
CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests
243243
CIBW_ARCHS_LINUX: s390x
244+
CIBW_TEST_SKIP: "*-*linux_s390x"
244245
- uses: actions/upload-artifact@v3
245246
with:
246247
path: ./wheelhouse/*.whl
@@ -264,7 +265,7 @@ jobs:
264265
python-version: '3.7'
265266
- uses: dtolnay/rust-toolchain@stable
266267
- name: Set up QEMU
267-
uses: docker/setup-qemu-action@v1
268+
uses: docker/setup-qemu-action@v2
268269
with:
269270
platforms: all
270271
- name: Install cibuildwheel
@@ -284,6 +285,7 @@ jobs:
284285
CIBW_TEST_REQUIRES: networkx testtools fixtures
285286
CIBW_TEST_COMMAND: python -m unittest discover {project}/tests/rustworkx_tests
286287
CIBW_ARCHS_LINUX: s390x
288+
CIBW_TEST_SKIP: "*-*linux_s390x"
287289
- uses: actions/upload-artifact@v3
288290
with:
289291
path: ./wheelhouse/*.whl
@@ -294,7 +296,7 @@ jobs:
294296
TWINE_USERNAME: retworkx-ci
295297
build-mac-arm-wheels:
296298
name: Build wheels on macos for arm and universal2
297-
runs-on: macos-10.15
299+
runs-on: macos-latest
298300
steps:
299301
- uses: actions/checkout@v3
300302
- name: Build wheels
@@ -365,7 +367,7 @@ jobs:
365367
with:
366368
python-version: '3.10'
367369
- name: Install deps
368-
run: pip install -U twine setuptools-rust
370+
run: pip install -U twine setuptools-rust wheel build
369371
- name: Build sdist
370372
run: python setup.py bdist_wheel
371373
env:

docs/source/install.rst

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ Installing Rustworkx
1010
====================
1111

1212
rustworkx is published on pypi so on x86_64, i686, ppc64le, s390x, and aarch64
13-
Linux systems, x86_64 on Mac OSX, and 32 and 64 bit Windows installing is as
14-
simple as running::
13+
Linux systems, x86_64 and arm64 on macOS, and 32 and 64 bit Windows
14+
installing is as simple as running::
1515

1616
pip install rustworkx
1717

@@ -71,28 +71,28 @@ source.
7171
* - Linux
7272
- x86_64
7373
- :ref:`tier-1`
74-
- Distributions compatible with the [manylinux 2014](https://peps.python.org/pep-0599/) packaging specification
74+
- Distributions compatible with the `manylinux 2014`_ packaging specification
7575
* - Linux
7676
- i686
7777
- :ref:`tier-2` (Python < 3.10), :ref:`tier-3` (Python >= 3.10)
78-
- Distributions compatible with the [manylinux 2014](https://peps.python.org/pep-0599/) packaging specification
78+
- Distributions compatible with the `manylinux 2014`_ packaging specification
7979
* - Linux
8080
- aarch64
8181
- :ref:`tier-2`
82-
- Distributions compatible with the [manylinux 2014](https://peps.python.org/pep-0599/) packaging specification
82+
- Distributions compatible with the `manylinux 2014`_ packaging specification
8383
* - Linux
8484
- pp64le
8585
- :ref:`tier-3`
86-
- Distributions compatible with the [manylinux 2014](https://peps.python.org/pep-0599/) packaging specification
86+
- Distributions compatible with the `manylinux 2014`_ packaging specification
8787
* - Linux
8888
- s390x
89-
- :ref:`tier-3`
90-
- Distributions compatible with the [manylinux 2014](https://peps.python.org/pep-0599/) packaging specification
89+
- :ref:`tier-4`
90+
- Distributions compatible with the `manylinux 2014`_ packaging specification
9191
* - macOS (10.9 or newer)
9292
- x86_64
9393
- :ref:`tier-1`
9494
-
95-
* - macOS (10.15 or newer)
95+
* - macOS (11 or newer)
9696
- arm64
9797
- :ref:`tier-4`
9898
-
@@ -105,6 +105,9 @@ source.
105105
- :ref:`tier-2` (Python < 3.10), :ref:`tier-3` (Python >= 3.10)
106106
-
107107

108+
109+
.. _manylinux 2014: https://peps.python.org/pep-0599/>
110+
108111
.. _tier-1:
109112

110113
Tier 1
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
upgrade:
3+
- |
4+
Support for the Linux s390x platform has changed from tier 3 to tier 4 (as
5+
documented in :ref:`platform-suppport`). This is a result of no longer being
6+
able to run tests during the pre-compiled wheel publishing jobs due to
7+
constraints in the available CI infrastructure. There hopefully shouldn't
8+
be any meaningful impact resulting from this change, but as there are no longer tests being
9+
run to validate the binaries prior to publishing them there are no longer
10+
guarantees that the wheels for s390x are fully functional (although the
11+
likelihood they are is still high as it works on other platforms). If any
12+
issues are encountered with s390x Linux please open an issue.

0 commit comments

Comments
 (0)