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

Add support to ARM macOS node bindings #2353

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

dsouza95
Copy link
Collaborator

@dsouza95 dsouza95 commented Apr 2, 2023

This draft PR enables ARM (M1/M2) builds for the macOS nodejs bindings and the underlying libraries (other bindings still only support x64, but it should be easier to add ARM suport for them now).

One important consideration: Github does not yet include ARM-based macOS runners, so the build CI needs a self-hosted runner for now. I am not really sure how to go about that, specially now that the project is no longer being maintaned, but it should be possible to use one's personal M1 Mac as a runner. Perhaps this PR should wait for Github ARM macOS runners to available before merging.

@reuben
Copy link
Collaborator

reuben commented Apr 2, 2023

It should be possible to build from a x64 host to an ARM target, this is what we currently do in order to build libstt for Apple Silicon. That said, since adding CI that doesn't run won't affect anything in the project, I'm not opposed to merging this once it's ready.

@dsouza95
Copy link
Collaborator Author

dsouza95 commented Apr 3, 2023

Oh, I had noticed that you were building from a x64 host to an ARM target, but when I tried to do so for the node bindings, it would make x64 instructions regardless. I figured it was because of that and proceeded to use the self-hosted ARM, but it should be way better to use x64 for now. I will try to do so then, as github actions won't skip the job if the self-hosted os is not available, but rather wait indefinately for someone to pick the job up.

@hendryman
Copy link

+1 to get this running. It would simply be awesome!

What does "building a self-hosted runner" mean?

@dsouza95
Copy link
Collaborator Author

dsouza95 commented Apr 3, 2023

@hendryman, building with a self-hosted runner means that the build workflow that would normally run on servers hosted by github, would instead run on a server (or even a personal computer) provided by someone else.

@hendryman
Copy link

I guess I would need instructions to achieve that : ) Thanks so much for putting the effort into making your solution available for the rest of us!

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

Successfully merging this pull request may close these issues.

None yet

3 participants