Skip to content

PYTHON-4079 Generate ManyLinux2014 and ManyLinux1 Wheels #1454

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Dec 13, 2023
Merged
Show file tree
Hide file tree
Changes from 4 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
10 changes: 3 additions & 7 deletions .evergreen/build-manylinux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,20 @@ docker version
# https://github.com/docker/setup-qemu-action/blob/2b82ce82d56a2a04d2637cd93a637ae1b359c0a7/README.md?plain=1#L46
docker run --rm --privileged tonistiigi/binfmt:latest --install all

# manylinux1 2021-05-05-b64d921 and manylinux2014 2021-05-05-1ac6ef3 were
# manylinux2014 2021-05-05-1ac6ef3 was
# the last releases to generate pip < 20.3 compatible wheels. After that
# auditwheel was upgraded to v4 which produces PEP 600 manylinux_x_y wheels
# which requires pip >= 20.3. We use the older docker image to support older
# pip versions.
BUILD_WITH_TAG="$1"
if [ -n "$BUILD_WITH_TAG" ]; then
images=(quay.io/pypa/manylinux1_x86_64:2021-05-05-b64d921 \
quay.io/pypa/manylinux1_i686:2021-05-05-b64d921 \
quay.io/pypa/manylinux2014_x86_64:2021-05-05-1ac6ef3 \
images=(quay.io/pypa/manylinux2014_x86_64:2021-05-05-1ac6ef3 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the removal of i686 unrelated?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand correctly, manylinux1 wheels are Centos5. Is that what we were using before, and this upgrades to Centos7? We can't move to manylinux_x_y because it requires the new pip solver. Please respond if I've gotten any of this wrong.

I think I understand what's going on and why. Looks good!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both x86 and i686 were manylinux1, but we're going to try and bring both back. Yes, this is related so supporting older versions of pip that come preinstalled on stock Centos 7. See the compat table here: https://github.com/pypa/manylinux. If we bump to manylinux2014, then we'd still support CentOS 7 rh-python38, but not stock CentOS 7.

quay.io/pypa/manylinux2014_i686:2021-05-05-1ac6ef3 \
quay.io/pypa/manylinux2014_aarch64:2021-05-05-1ac6ef3 \
quay.io/pypa/manylinux2014_ppc64le:2021-05-05-1ac6ef3 \
quay.io/pypa/manylinux2014_s390x:2021-05-05-1ac6ef3)
else
images=(quay.io/pypa/manylinux1_x86_64 \
quay.io/pypa/manylinux1_i686 \
quay.io/pypa/manylinux2014_x86_64 \
images=(quay.io/pypa/manylinux2014_x86_64 \
quay.io/pypa/manylinux2014_i686 \
quay.io/pypa/manylinux2014_aarch64 \
quay.io/pypa/manylinux2014_ppc64le \
Expand Down
6 changes: 6 additions & 0 deletions doc/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Changelog
=========

Changes in Version 4.8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The next version is 4.7 which already has an entry below.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lol, fixed.

----------------------

- Drop support for manylinux1 wheels, which were end of life in January 2022.


Changes in Version 4.7
------------------------

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ test-command = "python {project}/tools/fail_if_no_c.py"

[tool.cibuildwheel.linux]
archs = "x86_64 aarch64 ppc64le s390x i686"
manylinux-x86_64-image = "manylinux_2_28"
manylinux-x86_64-image = "manylinux2014"

[tool.cibuildwheel.macos]
archs = "universal2"
Expand Down