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

Add arm64 mac and linux wheels #954

Merged
merged 2 commits into from Sep 27, 2022
Merged

Add arm64 mac and linux wheels #954

merged 2 commits into from Sep 27, 2022

Conversation

ddelange
Copy link
Contributor

@ddelange ddelange commented Sep 17, 2022

Fixes #870
Fixes #936
Fixes #950

This PR:

  • Adds a fair amount of parallellization ref Is there a way to use parallelism when building the wheels? pypa/cibuildwheel#1088 (comment)
  • Uses latest manylinux images (RHEL8.6) for building future-proof wheels: the default yum repo comes with pg10 (left it like that for simplicity in the install script)
  • Automatically determines which python versions to build wheels for based on setup.py
  • Avoids prematurely publishing new docs when building wheels could still fail

image

Copy link
Contributor Author

@ddelange ddelange left a comment

Choose a reason for hiding this comment

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

If there's anything from my side still, plz ping 🙏

.github/workflows/install-postgres.sh Show resolved Hide resolved
CIBW_BUILD: ${{ matrix.build }} # py versions from setup.py -> python_requires
CIBW_SKIP: pp*
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28
Copy link
Contributor Author

Choose a reason for hiding this comment

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

could remove these two completely, defaulting to manylinux_2_21 (which is built on centos RHEL7), also wrt backward compatibility ref giampaolo/psutil#2103 (comment)

Though on centos, CI also has postgres installation script issues (I started out with it), something about a bad GPG key also mentioned on the developer's 3rd party yum repo's issue tracker. Thought about doing a yum search (or smth) to download the exact URL for the respective postgres versions on the official repo.

In the end, I happily accepted gg when I saw the green ticks on CI as it is now.

Martin.Obiols.-.Can.t.stop.laughing.at.this.1255206061159714819.mp4

Copy link
Member

Choose a reason for hiding this comment

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

I think we should try and keep compatibility with 2_21 at least.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

Copy link
Contributor Author

@ddelange ddelange Sep 27, 2022

Choose a reason for hiding this comment

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

ah, I think this thread is irrelevant, the current state of this PR (so building on almalinux8) already produces wheels that are backward compatible all the way to 2_17 ref https://github.com/ddelange/asyncpg/actions/runs/3121931647/jobs/5063553875#step:4:950

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@elprans I think in this respect we're good to go 👍

@staciax
Copy link

staciax commented Sep 19, 2022

hope 🥺

* Maximize parallellization

* Bump cibuildwheel==2.10.2

* Prepare for merge
@ddelange
Copy link
Contributor Author

@elprans could you re-run failed CI?

Copy link
Member

@elprans elprans left a comment

Choose a reason for hiding this comment

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

LGTM. Thanks a lot for contributing!

@elprans elprans merged commit 7bd6c49 into MagicStack:master Sep 27, 2022
@mbrav
Copy link

mbrav commented Sep 28, 2022

Thank you so much for this merge. I wanted to run a project using asyncpg on a Rpi some time ago but couldn't. Will have to check how it works out.

@staciax
Copy link

staciax commented Oct 9, 2022

thanks you so much
now i can running my project in ipad (m1)
<3

elprans added a commit that referenced this pull request Oct 26, 2022
Support Python 3.11 and PostgreSQL 15.  This release also drops support
for Python 3.6.

Changes
=======

* Add arm64 mac and linux wheels
  (by @ddelange in 7bd6c49 for #954)

* Add Python 3.11 to the test matrix
  (by @elprans in 5f908e6 for #948)

* Exclude .venv from flake8 (#958)
  (by @jparise in 40b16ea for #958)

* Upgrade to flake8 5.0.4 (from 3.9.2) (#961)
  (by @jparise in 0e73fec for #961)

* Show an example of a custom Record class (#960)
  (by @jparise in 84c99bf for #960)

* Use the exact type name in Record.__repr__ (#959)
  (by @jparise in eccdf61 for #959)

* Drop Python 3.6 support (#940)
  (by @bryanforbes in bb0cb39 for #940)

* Test on Python 3.11 and PostgreSQL 15, fix workflow deprecations (#968)
  (by @elprans in eab7fdf for #968)
@elprans elprans mentioned this pull request Oct 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Please support linux/aarch64 wheel releases Add wheel for aarch64 Reinstate aarch64 builds
4 participants