-
Notifications
You must be signed in to change notification settings - Fork 4
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
BUG: Fix bug with req for manylinux image #1
Conversation
cc @cbrnr in case you want to know what I changed |
@mscheltienne it might be worth modifying the CI structure to take the |
I would also get rid of
90% sure it's the cause of Windows failures. I'll disable it for now. (It's also nicer to stick with whatever |
@mscheltienne green and ready for review/merge from my end. Now the
Which looks like it should work once you cut a new release, assuming you set up trusted publishing. |
Great job @larsoner! Quick question, is it possible to build for |
It feels like I was both close and far at the same time 😑
@cbrnr
But I don't know how to set it up on a github runner. Alternatively, a windows arm64 runner seems to be coming: https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/ and actions/runner-images#768 |
I think I can answer some of these questions.
See https://cibuildwheel.pypa.io/en/stable/options/#repair-wheel-command. It's basically copying and relinking external libs. This is part of the cibuildwheel process, but it can be customized if necessary. These are actually the default values, but with an added
These builds use the stable CPython ABI, so anything built for e.g. Edit: That said, it would perhaps be a good idea to include abi3audit in the runners. Regarding Windows on ARM64, we could already build it inside the QEMU emulation job I think. Native test runners will be available on GitHub by the end of the year at the earliest. |
I missed the For windows ARM64, the action for
|
Ah, of course 😄! Should have looked a bit more closely! |
Great work here! Just a note to the script I made: back then I didn't know much about MNE, your mileage might therefore vary... also I never updated it. I think it is nice someone finally takes proper care of this (honestly) embarrassing situation for ANT |
The idea is to build them once but test them multiple places. So far it's just oldest and newest Python (not yet 3.13, still waiting for NumPy and SciPy wheels) on each OS, but you could image testing different OS versions, etc. as well.
It is really just a safety to ensure that the artifacts always have distinct names. Not 100% necessary but I've found it useful elsewhere. |
Pushed a commit to try building Windows ARM64 following the docs, we'll see if it works! |
Yes, that's exactly the point in my question. Why even test through |
At least for Linux at the very least it's nice because then you're testing inside the (quite old!) docker image, which would be annoying to set up afterward. If you really want to skip it after thinking about it, a better place than |
That sounds good, the age of the |
Okay @mscheltienne I think I'm done. Added support for Windows ARM64, though it doesn't get tested at the moment unfortunately. |
Looks like windows-arm64 wasn't as simple to support 😉 |
cmake
path bug by:Python3_EXECUTABLE
REQUIRED
so it quits in the configure step instead of cryptically erroring later if Python isn't foundPython3_add_library
instead ofadd_library
so that includes etc. are set automaticallyDevelopment.Module
, except...abi3
mode for the module, so just requireDevelopment.SABIModule
and changePyList_SET_ITEM
(not ABI stable) toPyList_SetItem
(abi stable)pyproject.toml
.so
or library package data (letauditwheel
and related utils pull in and package thelibeep
library)With these changes,
python -m cibuildwheel
succeeds on my Linux machine, as does (afterward):Might need some cleanups on macOS, not sure the abi3 paths / prefix stuff will be correct there.