-
Notifications
You must be signed in to change notification settings - Fork 294
Description
I just tested out cibuildwheel 3.0.0b1 in flintlib/python-flint#283 to test building wheels for CPython 3.14. It all seems to be working fine except that too many wheels are built in the manylinux arm job which seems to be caused by pypy pulling in a different docker container.
The other jobs all build 7 wheels e.g. this is what I get for manylinux x86-64:
7 wheels produced in 16 minutes:
python_flint-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 11,297 kB
python_flint-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 11,213 kB
python_flint-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 11,205 kB
python_flint-0.7.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 11,260 kB
python_flint-0.7.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 11,205 kB
python_flint-0.7.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 11,260 kB
python_flint-0.7.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 10,969 kB
However the manylinux arm job builds 13 wheels:
13 wheels produced in 22 minutes:
python_flint-0.7.1-cp311-cp311-manylinux_2_28_aarch64.whl 11,292 kB
python_flint-0.7.1-cp311-cp311-manylinux_2_31_armv7l.whl 8,070 kB
python_flint-0.7.1-cp312-cp312-manylinux_2_28_aarch64.whl 11,200 kB
python_flint-0.7.1-cp312-cp312-manylinux_2_31_armv7l.whl 8,022 kB
python_flint-0.7.1-cp313-cp313-manylinux_2_28_aarch64.whl 11,186 kB
python_flint-0.7.1-cp313-cp313-manylinux_2_31_armv7l.whl 8,013 kB
python_flint-0.7.1-cp313-cp313t-manylinux_2_28_aarch64.whl 11,279 kB
python_flint-0.7.1-cp313-cp313t-manylinux_2_31_armv7l.whl 7,990 kB
python_flint-0.7.1-cp314-cp314-manylinux_2_28_aarch64.whl 11,231 kB
python_flint-0.7.1-cp314-cp314-manylinux_2_31_armv7l.whl 7,986 kB
python_flint-0.7.1-cp314-cp314t-manylinux_2_28_aarch64.whl 11,280 kB
python_flint-0.7.1-cp314-cp314t-manylinux_2_31_armv7l.whl 7,991 kB
python_flint-0.7.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl 10,965 kB
It seems that what happens is that cibuildwheel uses a manylinux container to build all the non-pypy wheels but then launches a new Ubuntu container for the pypy wheels and then in that new container it builds not just the pypy whel but also new versions of the cpython wheels for armv7l.
The cibuildwheel configuration is at:
https://github.com/flintlib/python-flint/blob/31218dfd2f53d575f22181b0988a2486c201c7a7/.github/workflows/buildwheel.yml#L6-L59
And:
https://github.com/flintlib/python-flint/blob/31218dfd2f53d575f22181b0988a2486c201c7a7/pyproject.toml#L82-L115
Is this expected behaviour?