-
Notifications
You must be signed in to change notification settings - Fork 148
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
Build linux-aarch64 (arm64) release binaries #714
Comments
Any chance this platform's support will be added? @avh4 |
I might be getting some new hardware that'll be able to build aarch64 binaries soon. In the meantime, the issue is that Github Actions CI (or any other free-for-open-source-projects CI that I've found so far) doesn't provide any aarch64 or arm64 runners yet afaik. If anyone has any info about that, please share it! |
@avh4 I noticed some people suggest using this: https://github.com/uraimo/run-on-arch-action https://github.com/marketplace/actions/run-on-architecture |
Ooh, that's great! Thanks! |
Hi, I use NixOS to successfully and simply build
You can easilly do this on github actions by following this tutorial. You can also similarily build the
Actually.. the first one says multi-platform so maybe it also works for So it's possible this could solve this issue and the related #723. |
I made a github action following the tutorial I linked above, let's see if it everything works the first time and gives us that binary 😄 https://github.com/ParetoOptimalDev/elm-format/runs/8063581557?check_suite_focus=true |
Looks like it's working just like it does for me locally, but first build will take forever. Since I setup cachix with it though, the subsequent ones will be fast. |
Oh, exciting! I had tried Cachix requires a paid account, right? Though it doesn't really matter, since if it works, I'll probably just build it locally with nix anyway. Does |
Huh, Cachix doesn't require a paid account for public caches like this one would be, you just have to signup through github and get a key. Maybe I can just make you owner of the one I created if I actually don't know if it will work for both or not, I'm new to cross compilation.
The closest issue I could find was this one that's still open: |
Here's an aarch64 multiplatform binary for testing: https://github.com/ParetoOptimalDev/elm-format/suites/8023378224/artifacts/344661816 It finished in 2 hours. I reran and it took 40s with the cache. |
Update: It works on aarch64-linux, but not aarch64-darwin/arm64 on an m1 mac. |
Just for completeness I tried building A workaround could be that when actions/runner-images#2187 is finished, you don't have to use Of course you have other otpions at that point, and that run-on-arch-action looks promising as well. |
Can anyone test running the aarch64 binary here: https://elm-format.avh4.net/manual/0.8.5-424-g9e071c6f/ and see if it works in the Linux ARM64 environment that they need it for? |
Fixed in #798 The next release (0.8.6) will include official linux-aarch64 static binaries. Thanks @ParetoOptimalDev for the suggestion of using Nix pkgsCross -- it seems to work great now! |
This should be done in a reproducible way, preferably by being able to build locally using docker and buildx support for a locally-running arm container win docker-supported qemu.
Starting point: https://www.docker.com/blog/multi-arch-images/
https://docs.docker.com/buildx/working-with-buildx/
https://tech.smartling.com/building-multi-architecture-docker-images-on-arm-64-c3e6f8d78e1c
docker build ...
becomesdocker buildx build --platform linux/arm64 ...
Related:
Blockers:
The text was updated successfully, but these errors were encountered: