Use cibuildwheel for all architectures; add support for aarch64 linux; publish musllinux wheels as well as manylinux; move cibuildwheel configuration to pyproject.toml; use pypa action for PyPI upload#118
Conversation
|
Closing this because I just realized the CI/CD is already running on my fork, will reopen once ready. |
cibuildwheel for all architectures; add support for aarch64 linux; move cibuildwheel configuration to pyproject.toml; use pypa action for PyPI uploadcibuildwheel for all architectures; add support for aarch64 linux; publish musllinux wheels as well as manylinux; move cibuildwheel configuration to pyproject.toml; use pypa action for PyPI upload
|
When you have some time @bodono please review. You'll have to set up tokens for trusted publishing in PyPI. This page explains it -> https://docs.pypi.org/trusted-publishers/adding-a-publisher/ , You can see from the runner logs that the Linux job builds manylinux wheels for x86_64 and aarch64, and musllinux images for x86_64. That's why it takes longer than the others. Especially the aarch64 wheels take longer to compile, I suspect it's a combination of running QEMU virtualization inside docker, and openblas lacking optimized kernels for aarch64. Everything compiles and passes pytest, anyways. I can also add steps to make a Github release on tag, like |
|
PS you can inspect the wheels that are built, in the logs for example for the Linux wheels job there is the link to the artifact under the upload step -> https://github.com/bodono/scs-python/actions/runs/11544095456/artifacts/2109819766. I just tried to install a wheel manually in a test environment and confirm that it works and is linked correctly. |
|
Thanks for doing all this @enzbus ! I will take a look asap. |
|
Thanks @enzbus, this looks great, and much cleaner! Let's get this landed asap! A couple of questions I have before that(as I'm not very familiar with all this):
|
Yes, I'm not too familiar with the Github release system either; please do edit the trigger part of the
That is actually super easy. I recently tested it with a repository I started 2 weeks ago,
I saw that. This is a bit heavier, merge whichever you prefer first. This one solves the issue some time ago a user raised about missing Bonus, |
|
|
|
Hey Brendan; turns out
|
|
Thanks Enzo, I did the rebase. Can you double check it looks good and if so we can merge this! |
|
Looks good to merge! Then dependabot will keep cibuildwheel updated and it will add new Python versions as they become available. You'll still have to make new tags to deploy :) |
|
Great! Thanks again for doing this @enzbus ! |
Hello @bodono , testing here to build wheels using cibuildwheel . Not sure how bad it is to reproduce the pipeline for Windows for example, but if it works it should be much easier to maintain.