You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Any possibility for ARM (Raspberry Pi) support? #90
I found that setup-ruby downloads an x86 binary when run on a Raspberry Pi self-hosted runner. Is there a way to add ARM binaries here or to ruby-builder?
In short this action does not support self-hosted runners (EDIT: except if they correspond to github-hosted runner images), because it's not possible to precompile for all variants of them.
Reacted by Axel Navarro, Facundo Niro, Gabriel Pereyra, Zeta Zarza, Alan Saracho, Guilermo A. Del Vecchio, Matías Dumrauf and Damián Berruezo
Yes, you could fork https://github.com/ruby/ruby-builder and make your own builds, I think that's a good solution for self-hosted.
And we can add an input in this action to use an alternative source for releases / built Rubies. We'll need to figure out a way to list versions of such an external repository, though.
If GitHub also adds GitHub-hosted ARM runners, I could try making ARM builds in ruby/ruby-builder too (although I expect older Ruby releases or ruby installers might not support ARM yet).
Without GitHub-hosted ARM runners, I don't know how I would run these builds, so it seems difficult.
Also as usual, a built Ruby is often not portable across OS, etc, so depending on which Raspberry Pi and which OS & OS version a build might or not work. If you make your own builds then of course you can guarantee the exact same environment.
BTW I wonder if any other setup-* action supports self-hosted runners and how.
I guess they don't support it, or they expect the software (here Ruby) to be already installed on disk.
Once I get the build script working, I could donate the Raspberry Pi compute resource for creating the ARM binaries. I.e., I own several new Raspi's which are running the GitHub self-hosted runner software. It'd be no problem to set up another instance of it and register it with this repo as an ARM-tagged runner.
And yep, I found that setup-python has the same X86 assumptions. In that case, though, it's a little easier because the various ARM Linuxes come with Python 3 pre-installed. So it was easy for me to make a basic Python ARM build script.
In that case, though, it's a little easier because the various ARM Linuxes come with Python 3 pre-installed.
Isn't there a Ruby package too on Debian-based Linux for ARM64?
That of course provides only 1 Ruby version, but it might be the most convenient way to get started for self-hosted.
Activity
dentarg commentedon Sep 28, 2020
I don't think it will be possible until github/roadmap#95
I think you will have to compile on ARM yourself until then
dogweather commentedon Sep 29, 2020
Thanks! So this project's scope isn't really the whole
rubyorganization, it's more likesetup-github-ruby?eregon commentedon Sep 29, 2020
In short this action does not support self-hosted runners (EDIT: except if they correspond to github-hosted runner images), because it's not possible to precompile for all variants of them.
dogweather commentedon Oct 7, 2020
How about if I do the ARM equivalent of what you're doing for X86: create precompiled binaries in a repo in the same layout?
eregon commentedon Oct 7, 2020
Yes, you could fork https://github.com/ruby/ruby-builder and make your own builds, I think that's a good solution for self-hosted.
And we can add an input in this action to use an alternative source for releases / built Rubies. We'll need to figure out a way to list versions of such an external repository, though.
Interesting, it seems the GHA runner just got pre-release support for ARM: https://github.com/actions/runner/releases/tag/v2.273.5
If GitHub also adds GitHub-hosted ARM runners, I could try making ARM builds in ruby/ruby-builder too (although I expect older Ruby releases or ruby installers might not support ARM yet).
Without GitHub-hosted ARM runners, I don't know how I would run these builds, so it seems difficult.
Also as usual, a built Ruby is often not portable across OS, etc, so depending on which Raspberry Pi and which OS & OS version a build might or not work. If you make your own builds then of course you can guarantee the exact same environment.
eregon commentedon Oct 7, 2020
BTW I wonder if any other
setup-*action supports self-hosted runners and how.I guess they don't support it, or they expect the software (here Ruby) to be already installed on disk.
dogweather commentedon Oct 10, 2020
Once I get the build script working, I could donate the Raspberry Pi compute resource for creating the ARM binaries. I.e., I own several new Raspi's which are running the GitHub self-hosted runner software. It'd be no problem to set up another instance of it and register it with this repo as an
ARM-tagged runner.And yep, I found that
setup-pythonhas the same X86 assumptions. In that case, though, it's a little easier because the various ARM Linuxes come with Python 3 pre-installed. So it was easy for me to make a basic Python ARM build script.eregon commentedon Oct 10, 2020
Isn't there a Ruby package too on Debian-based Linux for ARM64?
That of course provides only 1 Ruby version, but it might be the most convenient way to get started for self-hosted.
eregon commentedon Mar 3, 2023
With #473 this action now gives instructions for how to make it work for self-hosted runners not matching a GitHub-hosted runner image.