-
Notifications
You must be signed in to change notification settings - Fork 3
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
Fix MacOS Python wheel generation #262
Conversation
@cschwan did you just give up on fixing the Python range? Or is still an attempt to test it? In case it's the latter: what are you testing? |
Btw, since we're touching the version range, consider that also py3.7 is EOL by last June. https://devguide.python.org/versions/ The current supported range is 3.8-3.12, but I saw many popular packages (including NumPy, that is relevant for us) dropping support for py3.8 already (it will be EOL by October, together with the release of py3.13). |
I don't think the Python range has any influence on the subsequent maturin action and, that's what I want to test, possible a harmful influence. In any case I'm just using what |
Ok, so your guess is that the interpreter found by maturin on MacOS are all already present on the runner, isn't it? For manylinux, this depends on the container, so we already know to be unrelated to the host. But for MacOS it would be a bit surprising ( |
Ah @cschwan, while scanning the workflow, I noticed: pineappl/.github/workflows/release.yml Line 137 in 00140d5
which is different from YAML's boolean: sccache: true I would not touch in this PR, or not before having fixed the Python MacOS issue (to avoid noise). |
Despite what I said it seems to make a difference; before commit 00140d5
after the commit it finds:
|
That's incredibly weird, and the most incredible part is CPython 3.10: how come that is found only when installed in isolation? |
I want to test whether PyPy is masking CPython in discovery |
The last version set in |
This looks much better now:
|
Where did you find this info in the logs? |
Here: https://github.com/NNPDF/pineappl/actions/runs/8016527785/job/21898622667#step:4:242. I added some newlines to improve the readibility. |
Concerning However, the essential mechanism is simple:
So, it truly depends on |
So, does it truly depend on the installation order?
|
It can't (?) depend on the installation order, but I believe the default Python version (with which |
@alecandido with commit f00839e I've switched the wheel generation from universal wheels to two separate wheels, one for each of the two (aarch and x86) targets. They're potentially generated more quickly and the wheels themselves are now smaller. Do you think this is OK or should we go back to universal wheels? |
That's should be perfectly fine. It's weird that is faster than generating the universal one (I wonder what's the purpose of it at this point, unless you have GB of shared Python code and data...), but I expected to be more or less the same anyhow (it should compile twice, no way out: they are two different ISAs). |
It could be, but I'm not sure about that. We could test moving a single PyPy version at the bottom, but if now it's working is probably not worth. |
What I meant but didn't say is that the two wheels can be run in parallel and thus are usually faster, unless of course no Mac runner is found (like yesterday). |
Unfortunately, that's usually the case. There are many limitations on Mac runners. But we don't care too much about CI performances. As long as they are reasonable that's enough. |
No description provided.