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

Binaries for alpine linux ? #992

Closed
nvuillam opened this issue Oct 3, 2023 · 11 comments
Closed

Binaries for alpine linux ? #992

nvuillam opened this issue Oct 3, 2023 · 11 comments

Comments

@nvuillam
Copy link

nvuillam commented Oct 3, 2023

What is the expected enhancement?

Hi, MegaLinter uses checkov that relies on rustwork, so to install checkov we need rust compiler, and it takes like forever during docker builds :)

Would it be possible to provide pre-compiled binaries for alpine linux ?

Many thanks & best regards :)

Issue on checkov repo : bridgecrewio/checkov#5608 (comment)

@IvanIsCoding
Copy link
Collaborator

This should be possible. We are working on releasing 0.13.2 today to support Python 3.12, but after that we should be able to add musl support.

PyO3 supports it and so does cibuildwheel. We haven't tested the code so support would be Tier 3, but adding a CI job seems reasonable

@nvuillam
Copy link
Author

nvuillam commented Oct 3, 2023

@IvanIsCoding many thanks :)

@mtreinish
Copy link
Member

I think we probably will want to combine this with #891 for 0.14.0. If we add musl builds for linux we'll be shipping a huge number of wheels for each release, using abi3 wheels will shrink that down quite a bit.

@IvanIsCoding
Copy link
Collaborator

I think we probably will want to combine this with #891 for 0.14.0. If we add musl builds for linux we'll be shipping a huge number of wheels for each release, using abi3 wheels will shrink that down quite a bit.

I'll try to trigger a musl job with cibuildwheel. The fact that @nvuillam reported he was able to install makes me think we are able to compile against this architecture

@IvanIsCoding
Copy link
Collaborator

While I was triggering the job, I noticed one possible issue:

Building wheels for collected packages: numpy
    Building wheel for numpy (pyproject.toml): started
    Building wheel for numpy (pyproject.toml): still running...
    Building wheel for numpy (pyproject.toml): still running...

It seems NumPy only has binaries for musllinux after 1.25+. This is not an issue for Python 3.9+, but you should still be careful with 3.8 and 3.7 because you might end up compiling NumPy

@IvanIsCoding
Copy link
Collaborator

We have musllinux wheels now: https://pypi.org/project/rustworkx/0.13.2/#files 🥳

@nvuillam
Copy link
Author

nvuillam commented Oct 4, 2023

Great, I'll try that in a next MegaLinter patch, many many thanks for your reactivity :)

@tuananh
Copy link

tuananh commented Oct 16, 2023

We have musllinux wheels now: https://pypi.org/project/rustworkx/0.13.2/#files 🥳

can we have musl-aarch64 as well?

our use case: checkov on aarch64

@IvanIsCoding
Copy link
Collaborator

We have musllinux wheels now: https://pypi.org/project/rustworkx/0.13.2/#files 🥳

can we have musl-aarch64 as well?

our use case: checkov on aarch64

I answered you on the other issue but: yes, we can try to publish a wheel for aarch64 for 0.13.2

@tuananh
Copy link

tuananh commented Oct 16, 2023

We have musllinux wheels now: https://pypi.org/project/rustworkx/0.13.2/#files 🥳

can we have musl-aarch64 as well?
our use case: checkov on aarch64

I answered you on the other issue but: yes, we can try to publish a wheel for aarch64 for 0.13.2

Many thanks. Looking forward to it.

@IvanIsCoding
Copy link
Collaborator

We have musllinux wheels now: https://pypi.org/project/rustworkx/0.13.2/#files 🥳

can we have musl-aarch64 as well?
our use case: checkov on aarch64

I answered you on the other issue but: yes, we can try to publish a wheel for aarch64 for 0.13.2

Many thanks. Looking forward to it.

We'll hold back publishing the wheels because we are moving our build system to use PyPI trusted publisher. You should see aarch64 musl wheels for 0.14.0 which will come up in a couple weeks.

In the mean time, you'll need to install a Rust compiler. Fortunately, rustup makes that simple. I myself had never used Alpine linux and manage to install the toolchain

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

No branches or pull requests

4 participants