laz-rs / laz-rs-python

Python bindings for laz-rs
MIT License
10 stars 4 forks source link

Build Linux wheels in Docker container for manylinux2010 compatibility #11

Closed dokempf closed 2 years ago

dokempf commented 2 years ago

This changes the maturin build process in CI to allow compatibility with manylinux distributions that are older than the host system. It follows the recommendations from the maturin documentation and builds the Linux wheels inside a Docker container provided by pyo3.

This of course introduces some platform-specific logic, as only Linux builds are affected. A potential solution to reduce the number of these platform-specific code paths could be to use cibuildwheel, but you have to decide that for yourself.

I took the liberty to add an upload-artifact step to the CI build so that the built wheels can be downloaded and manually tested. If you want me to remove it, I can do so.

This fixes #10.

tmontaigu commented 2 years ago

This of course introduces some platform-specific logic, as only Linux builds are affected. A potential solution to reduce the number of these platform-specific code paths could be to use cibuildwheel, but you have to decide that for yourself.

I think we should switch to https://github.com/messense/maturin-action so that we are also able to add build for aarch64 later

dokempf commented 2 years ago

That sounds like a good idea a well. Is that more of a long term plan or do you want to do it instead of this PR?

tmontaigu commented 2 years ago

That can be for later, I want to do a release this week

tmontaigu commented 2 years ago

Thanks