Skip to content
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

PYTHON-4079 Generate ManyLinux2014 and ManyLinux1 Wheels #1454

Merged
merged 10 commits into from
Dec 13, 2023

Conversation

blink1073
Copy link
Member

No description provided.

@blink1073 blink1073 requested a review from a team as a code owner December 7, 2023 12:11
@blink1073 blink1073 requested review from caseyclements and removed request for a team December 7, 2023 12:11
@blink1073 blink1073 marked this pull request as draft December 7, 2023 12:11
@blink1073
Copy link
Member Author

The docs failure is unrelated, due to a DNS outage.

@blink1073 blink1073 marked this pull request as ready for review December 7, 2023 12:36
@ShaneHarvey
Copy link
Member

ShaneHarvey commented Dec 7, 2023

In EVG we also build the manylinux1 wheels, can we add those as well? If manylinux1 wheels are no longer needed then could you update the changelog to mention we stopped releasing them?

@blink1073
Copy link
Member Author

If manylinux1 wheels are no longer needed then could you update the changelog to mention we stopped releasing them?

I'd prefer that route since we don't support Python 3.6 anymore, should I also remove them from the EVG script?

@ShaneHarvey
Copy link
Member

Sounds good to me. This comment from Oct 2021 shows 3.7 has 8% manylinux1 usage and 2% manylinux2010 usage so it seems fine to drop them now: pypa/manylinux#994 (comment)

@@ -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.

@ShaneHarvey
Copy link
Member

Should we rename the PR to "Remove manylinux1 wheels"?

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.

@ShaneHarvey
Copy link
Member

I guess I also have one question: why not just keep manylinux1 until it becomes a maintenance burden? It seems like it doesn't cost us anything to keep building and publishing them. And it would benefit users on older distros.

@blink1073
Copy link
Member Author

why not just keep manylinux1 until it becomes a maintenance burden

Looks like that can work:

  • pymongo-4.7.0.dev0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
  • pymongo-4.7.0.dev0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl

@blink1073 blink1073 changed the title PYTHON-4079 Generate ManyLinux2014 Wheels PYTHON-4079 Generate ManyLinux2014 and ManyLinux1 Wheels Dec 13, 2023
@caseyclements
Copy link
Contributor

@blink1073 All looks good. Two questions.

  1. Do wheels names like this mean that they're cross-compiled: pymongo-4.7.0.dev0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl

  2. test-skip = "*-macosx_universal2:arm64" Does this mean that we build the wheel for apple silicon, but don't test it?

@blink1073
Copy link
Member Author

Do wheels names like this mean that they're cross-compiled: pymongo-4.7.0.dev0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl

It means the symbols used support both of those manylinux targets.

Does this mean that we build the wheel for apple silicon, but don't test it?

Yes, apple silicon is not yet available on GitHub Actions

@blink1073 blink1073 merged commit b976531 into mongodb:master Dec 13, 2023
16 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants