Skip to content

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.

3 participants