Skip to content

Linux ARM support #577

Description

@sandstrom

Now that Github Actions has ARM-runners (in private beta currently), it would be awesome if this action would support ARM too.

Right now, it seems to assume Github doesn't have ARM.

https://github.com/ruby/setup-ruby/blob/master/common.js#L165

Here is a signup link for the private beta:

https://github.com/proxy/resources.github.com/devops/accelerate-your-cicd-with-arm-and-gpu-runners-in-github-actions/

Activity

  1. dentarg commented on Mar 15, 2024

    @dentarg

    What's needed to support it? Seems tricky to support it when the docs for it are still private?

  2. sandstrom commented on Mar 15, 2024

    @sandstrom
    Author

    Good question!

    @dentarg If you would like to, I'm sure @lkfortuna (PM working with Github Actions) can get you into the beta, since this action is widely used.

  3. dentarg commented on Mar 15, 2024

    @dentarg

    I was thinking in general, if you have access to the beta, you should be able to submit a PR to this repo to show what needs to be done?

    I've been invited to the beta (but haven't gotten access to the docs), I actually just emailed her earlier today ;-)

  4. sandstrom commented on Mar 15, 2024

    @sandstrom
    Author

    @dentarg Ah, got it!

    I would love to help out, but I don't know the details of this action well enough, sorry.

  5. dentarg commented on Mar 15, 2024

    @dentarg

    Ever heard about "learning by doing"? :-)

    If you don't dig in yourself here, don't expect any movement on this until after the private beta.

  6. eregon commented on Mar 15, 2024

    @eregon
    Member

    It's the same as for any other new runner, we need access to the runner from the ruby organization to build binaries, see #494 (comment)
    Until then linux-aarch64 will be detected as self-hosted, because there are no prebuilt Rubies for it available.

    So @lkfortuna @Steve-Glass could you make these new beta linux-aarch64 runners available for the ruby organization?
    What would be the runs-on value?

  7. sandstrom commented on Mar 15, 2024

    @sandstrom
    Author

    @dentarg Yeah, I know 😄

    I've learned a lot by doing things (self-thought), just that I haven't yet spent that much time with JS-based Github Actions.

    I do contribute to a few open-source projects, but I have to pick, and currently my goal is to improve the ipaddress gem.

    Out of curiosity, do you live in the Stockholm area, or elsewhere? 🇸🇪

  8. Steve-Glass commented on Mar 15, 2024

    @Steve-Glass

    @eregon - Thanks for reaching out. Let me bring this feedback to the team and we will get back to you next week.

  9. sandstrom commented on Mar 15, 2024

    @sandstrom
    Author

    @lkfortuna @Steve-Glass Somewhat off topic, but is there a reason why the setup-python and setup-node actions are managed by Github, but this action lives outside?

  10. eregon commented on Mar 15, 2024

    @eregon
    Member

    ^ Because https://github.com/actions/setup-ruby was not actively maintained and provided too little functionality to be practical (e.g. no way to specify Ruby x.y.z, only latest x.y and only 3-4 versions available).

  11. cb-krishnapatel commented on Mar 16, 2024

    @cb-krishnapatel

    hi @eregon and chat, I came around this discussion with a similar requirement for arm-based ruby installation. but I'm using self-hosted runners and not GitHub provided. For the base OS, I rely on Ubuntu 20.04-arm64 OS. Ruby binaries for arm64 for ubuntu20.04 are also publicly available. Wouldn't using those for ruby setup in arm-based Ubuntu/Linux OS allow GitHub runners (in beta) to run?

  12. eregon commented on Mar 16, 2024

    @eregon
    Member

    @cb-krishnapatel The builds need to be tested automatically, so we need access to these runners and the builds must happen on GitHub runners to ensure it's exactly the same image with the same tweaks, packages installed, etc.

    Regarding https://ubuntu.pkgs.org/20.04/ubuntu-main-arm64/ruby_2.7+1_arm64.deb.html (the system package), of course you can apt-get install ruby, but that will only give you the ruby version that Ubuntu 20.04 ships and no other.

  13. cb-krishnapatel commented on Mar 16, 2024

    @cb-krishnapatel

    Agreed and acknowledged @eregon

  14. hsbt commented on Mar 18, 2024

    @hsbt
    Member

    FYI: I requested this to GitHub support for Arm runner as private beta on Ruby organization.

  15. schneems commented on Mar 25, 2024

    @schneems

    I'm working on this on the Heroku side right now heroku/docker-heroku-ruby-builder#38. Having support for ARM from ruby/setup-ruby isn't a blocker there, but it's what prompted me to see if an issue was raised yet or not.

    @hsbt have you heard back from the request?

  16. 18 remaining items

  17. xrl commented on Jun 7, 2024

    @xrl
  18. NicoHinderling commented on Jun 26, 2024

    @NicoHinderling

    Unfortunately, ruby org couldn't enable ARM runner with private beta. We need to wait until GA status.

    👋 apologies, but any update here now that it's available? I'm unfortunately trying to still support an older ruby version with the new runners atm

  19. dentarg commented on Jun 26, 2024

    @dentarg
  20. enescakir commented on Jul 4, 2024

    @enescakir

    The only way to add linux-aarch64 support earlier is if GitHub provides free linux-aarch64 runners for the ruby organization, like it was done for macos-arm64 with macos-arm-oss (#577 (comment)).

    We encountered the same problem within our CI. We resolved it by manually installing Ruby into the toolcache. However, it would be beneficial to have arm64 support in setup-ruby. Additionally, ruby/ruby-builder and other builders require arm64 release packages.

    At Ubicloud, we offer managed GitHub Actions runners with arm64 support. We're happy to offer 10,000 free minutes per month on our platform for the Ruby organization. @eregon If you're interested, please let me know. As Ruby users, we're delighted to back the Ruby organization.

  21. eregon commented on Jul 4, 2024

    @eregon
    Member

    We resolved it by manually installing Ruby into the toolcache.

    Yes, this is the current solution (as the error message says), and then you can use setup-ruby in self-hosted mode (automatically detected).

    At Ubicloud, we offer managed GitHub Actions runners with arm64 support. We're happy to offer 10,000 free minutes per month on our platform for the Ruby organization.

    This wouldn't help, no, because of these reasons.

  22. testworksau commented on Sep 4, 2024

    @testworksau
  23. eregon commented on Sep 4, 2024

    @eregon
    Member
  24. testworksau commented on Sep 4, 2024

    @testworksau

    Ah, thanks @eregon I didn't realise there was a difference between a runner being GA and a runner being available for consumption (for free) by public repos.

  25. willnode commented on Oct 4, 2024

    @willnode

    Just saying.. There are other build system that supports aarch64 by cross compiling.
    https://github.com/indygreg/python-build-standalone/blob/main/.github/workflows/linux.yml

  26. testworksau commented on Oct 7, 2024

    @testworksau

    Here's where GitHub are tracking the work to make ARM runners available for OSS projects:
    github/roadmap#970

  27. ntkme commented on Jan 16, 2025

    @ntkme
    Collaborator
  28. self-assigned this
    on Jan 18, 2025
  29. eregon commented on Jan 18, 2025

    @eregon
    Member
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions