Skip to content
This repository was archived by the owner on Oct 8, 2024. It is now read-only.

Conversation

@radarhere
Copy link
Member

Resolves #226. Now that multi-build/multibuild#430 has been merged, we are able to build musllinux wheels.

I'm still waiting on multi-build/multibuild#465 though, so this PR temporarily diverges from the multibuild repository to my fork.

In order to accomodate macOS, manylinux and musllinux wheels, I have rearranged the jobs. Feel completely free to tell me you have a better idea for how to organise them.

As a note to self, it would be worth trying again with numpy after numpy/numpy#21200 makes it into a release.

Copy link
Contributor

@nulano nulano left a comment

Choose a reason for hiding this comment

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

Splitting the (now quite complicated) matrix into separate macOS/Linux files makes sense to me.

A previous PR #258 reorganized the build to avoid duplicating the steps. It seems like this PR undoes part of that. I'm not necessarily against, but if the steps are to be duplicated, it might make sense to move the if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew remove ... part of build.sh to build-macos.yml as a separate step as this is specific to the macOS image provided by GitHub and not part of the actual build.

@@ -0,0 +1,58 @@
name: Build Ubuntu wheels
Copy link
Contributor

Choose a reason for hiding this comment

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

I thought musllinux is built using Alpine, not Ubuntu? Perhaps call this Linux wheels?

Suggested change
name: Build Ubuntu wheels
name: Build Linux wheels

Copy link
Member Author

Choose a reason for hiding this comment

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

Fair call. Ok, I've pushed a commit

@hugovk
Copy link
Member

hugovk commented Mar 30, 2022

Good stuff!

Some notes about optimising the build matrix, but these can definitely wait for followup PRs if you prefer, it's more important to get this in for Friday's release :)


macOS:

Most of the jobs are roughly the same, except for the PyPys, which are tacked on via include so appear last:

image

Maybe put the PyPys in the matrix, and exclude PyPy + arm64?


Linux:

Pretty good already, we have the slower PyPys first:

image

We could flip the platform order to put the 17m PyPy jobs before the 11m ones, and it doesn't make much difference for the other ones:

-        platform: [ "x86_64", "i686" ]
+        platform: [ "i686", "x86_64" ]

@radarhere
Copy link
Member Author

Ok, I've switched macOS to exclude, and swapped the platform order for Linux.

Co-authored-by: Hugo van Kemenade <[email protected]>
Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

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

Looks good, thanks!

image

image

@hugovk hugovk merged commit d579370 into python-pillow:main Mar 30, 2022
@radarhere radarhere deleted the musllinux branch March 30, 2022 20:57
@radarhere
Copy link
Member Author

multi-build/multibuild#465 has been merged, so I've created #279 to switch back to the main multibuild repository.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Musllinux wheels

3 participants