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

Any plans on supporting the aarch64 architecture? #9

Closed
willemsst opened this issue Mar 8, 2022 · 9 comments
Closed

Any plans on supporting the aarch64 architecture? #9

willemsst opened this issue Mar 8, 2022 · 9 comments
Assignees
Labels
question Further information is requested

Comments

@willemsst
Copy link

Hi,

I've been playing around with this action and it works pretty well. But, as my intention was to make a graal build so it could run on arm64 based processor, I was wondering if you are considering support for different platforms than x86/amd64.

The way I configured my workflow right now, is that I use the matrix setup. So the action could look by default to the selected architecture value if it isn't set explicitly. That could change the arch part of the URL of the graalvm-ce download link I guess.

    strategy:
      fail-fast: false
      matrix:
        os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
        architecture: [x86, ARM64]
        exclude:
          - os: 'macos-latest'
            architecture: 'ARM64'
          - os: 'windows-latest'
            architecture: 'ARM64'

Would like to here your thoughts.

@fniephaus fniephaus added the question Further information is requested label Mar 8, 2022
@fniephaus
Copy link
Member

Hi @willemsst,

Thanks for the question. GitHub unfortunately only provides free amd64-based runners at the moment. However, arm64 is supported if you use a self-hosted runner, but that needs some additional setup work, it requires that you provide the computing resources, and it is only recommended for private repositories due to security concerns. There are ways (e.g., using this action) to emulate other architectures including arm64 but that is potentially slow and further reduces the already limited memory resources (see #6).

As part of #8, we are going to add support for arm64/aarch64 to this action. If you want to set up a self-hosted runner and play around with this earlier, we can add support for arm64 now.

@willemsst
Copy link
Author

Thx @fniephaus for the quick and elaborate reply.

I'll take a look at the pointers you provided. Some I had already noticed. I'll give the emulation action a shot, and if that doesn't work out, I'll wait for #8. I also saw this older (no longer maintained action from DeLaGuardo. But I guess it suffers from the same issue, that it needs self-hosted or emulated runners.

I was simply going to build a hobby project experimenting with Micronaut to read out my digital meter at home and deploy it on a RPi. But because of chip shortages I could only get a 1Gb one so I decided to throw graalvm in the mix to reduce memory usage. And here I am, yet again at the bloody edge of new technology 🤦‍♂️

It's fun though 😄

@fniephaus
Copy link
Member

I just set up an arm64-based, self-hosted runner and managed to build a hello world with the version from #8:

image

Note that Oracle Cloud Infrastructure provides a free tier that can be used to deploy an arm64-based, self-hosted runner: https://blogs.oracle.com/cloud-infrastructure/post/announcing-github-actions-arm-runners-for-the-arm-compute-platform-on-oracle-cloud-infrastructure

@fniephaus
Copy link
Member

I was simply going to build a hobby project experimenting with Micronaut to read out my digital meter at home and deploy it on a RPi. But because of chip shortages I could only get a 1Gb one so I decided to throw graalvm in the mix to reduce memory usage. And here I am, yet again at the bloody edge of new technology

Ha, if only you had the 4GB or even the 8GB model you could build native executables with GraalVM Native Image on the RPi.

It's fun though

That's what matters!

@fniephaus fniephaus reopened this Mar 8, 2022
@willemsst
Copy link
Author

willemsst commented Mar 8, 2022 via email

@fniephaus
Copy link
Member

You are welcome! I've reopened this so that others see that this is being worked on.

@fniephaus fniephaus self-assigned this Mar 8, 2022
fniephaus added a commit to fniephaus/setup-graalvm that referenced this issue Mar 8, 2022
@fniephaus
Copy link
Member

I've pushed b76e262 which adds support for aarch64 builds to this action and I've verified this works using a self-hosted runner.

@fniephaus fniephaus pinned this issue Mar 8, 2022
@guizmaii
Copy link

@fniephaus Is possible to document in the README that the arch will be automatically picked up for us, please?

@fniephaus
Copy link
Member

@guizmaii Sure, hope this works for you: 73120ff. Otherwise, feel free to open a PR. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants