-
Notifications
You must be signed in to change notification settings - Fork 239
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
Support arm64 macOS runner for GitHub Actions #1746
Comments
I just tested for my project and it worked! The only problem I encountered is that cp38 is cumbersome due to some implementation details, use cp39 and above. |
I have no problem with |
I believe I'm currently building x86_64, arm64, and universal2 for Mac with no issue. It was literally 1 line of code, setting env var *The run I linked is overall "failed" due to issues with delvewheel and Windows cross-compilation, but ignore that; as you can see, the specific job for Mac was an unqualified success! |
It appears to work out of the box, at least on the cibuildwheel side. The only change I made is changing the OS for the macOS builds to use Even better, it ran the Here's the changes I had to make -- most of the issues were due to a lack of pipx in the new macos arm64 images, and trouble installing ninja as part of pyproject.toml/cibuildwheel: https://github.com/nightlark/swig-pypi/pull/117/files |
Was Scikit-build-core automatically adds ninja as a dependency only if it's not present, by the way. |
Just don't skip the tests. cibuildwheel will test everything it can. (We've had AS building on CirrusCI for a bit, so not surprised if it's working fairly well out of the box on GHA) |
Though if you pin an old version, it might not have AS wheels: Again, scikit-build-core does all this for you, also the |
I got an architecture error from NumPy when testing the
It seems that pip used the same virtual environment for |
The pip(x) install ninja was working, but the location it installed to wasn’t in the macOS PATH so no ninja command was found. I tried pipx ensurepath in a few places, but the PATH changes didn’t seem to get propagated to the steps that actually needed ninja. I think the issue you opened about pipx in the GHA runner images repo would be the “best” place to fix it. |
ninja 1.10.2.2 has a wheel with arm64/universal2 tags. I have this issue in the backlog to try switching to scikit-build-core. It would be great to get rid of the setup.py file eventually. |
Okay, happy as long as it's not an issue with the
We should probably investigate making two environments instead of one. |
(observation) |
Yes, they seem to be doing a staggered rollout of |
@henryiii yep, it broke my pure-python pipelines even. So the effect is wider than just people building C-extensions... |
Description
GitHub has announced that m1 macOS runners are available for open-source project. It would be a good idea to enable
cibuildwheel
to use m1 macOS runner to build and testx64
,arm64
anduniversal2
wheel files.https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
Or maybe does it just work already out of the box? In the official readme it says not supported.
CI config
Config to use
runs-on: macos-14
in the GitHub Actions job, thecibuildwheel
should be able to build and testx64
,arm64
anduniversal2
wheel files.The text was updated successfully, but these errors were encountered: