-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Build musllinux wheels #2126
base: master
Are you sure you want to change the base?
Build musllinux wheels #2126
Conversation
cb1a001
to
267b6ea
Compare
4b9ccb7
to
29dde78
Compare
@giampaolo Rebased to show changes as part of Apparently |
@giampaolo BTW,
|
e5ad7a5
to
9ae8920
Compare
9ae8920
to
9d256d4
Compare
9d256d4
to
ecfe230
Compare
@giampaolo Adapted for pyproject.toml-based changes. Please consider merging those changes :) |
591faf0
to
5d31710
Compare
5d31710
to
64ee3c7
Compare
@giampaolo is there anything else needed for this to go through? This would speed up lots of CI runs and let us remove |
|
64ee3c7
to
56a58e9
Compare
For the record, the musllinux build skip comes from #2024, namely this commit made by @giampaolo. It then got moved into It looks like the patch was made in order to fix build failures. Since @ben9923 changes seem to result in @giampaolo are we missing something? Sorry for spamming, but this is a serious pain point for me and many others, since we cannot test |
@giampaolo kind nudge. This has little to no overhead and would greatly improve the usage of |
@giampaolo This change is essential for Alpine-based images. A small image size is a top priority for Alpine users, and these improvements will make psutil more compatible and efficient in Python-Alpine environments. Let's streamline this process and bring the benefits of psutil to a wider audience in Alpine containers. 🐧✨ |
56a58e9
to
93b5f18
Compare
I suppose the request would be more persuasive if we fixed the build failures. Green circles look better in the PR list. @ben9923 can you confirm with any degree of certainty that these do not stem from your changes? |
The same failing test fails on |
- Install required apk packages for Alpine tests. Signed-off-by: Ben Raz <[email protected]>
Python 3 manylinux CI image does not have net-tools (hence ifconfig) pre-installed, so tests using it were skippied altogether. Signed-off-by: Ben Raz <[email protected]>
93b5f18
to
7972be8
Compare
#2326 contained the build tools installation instructions from this PR and was merged to |
Summary
Description
Added
musllinux
wheel support to CI. Installing fully-featured variants of common commands, compared to theirbusybox
variants (namelyps
,df
) was the only thing necessary for tests to pass.Should be useful for Alpine Linux users, which probably make a not-too-little percentage of the Linux users (Was ~1% back in 2017, I expect it to be much higher now).
It's especially useful to have wheels for musl-based distributions, as they tend to have smaller footprint installs than their glibc-counterparts. Those musl distros usually have no build tools (among other utilities) available by default to be so llightweight, which is suitable for cloud workloads.
For example, the 48.7MB
python:alpine
base Docker image grows to 170MB (installing the minimalgcc musl-dev linux-headers
psutil build requirements), making it a much less atractive base image than it could be (compared to the glibc-based 126MBpython:slim
).No link for an issue as apparently there is none for musl/Alpine wheels 😛
BTW - In case(EDIT: Done!)cibuildwheel
configuration becomes toml-based, an 'override' for musllinux may be used instead of the hackycommand -v
check here.