-
Notifications
You must be signed in to change notification settings - Fork 2k
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 packages using the new GH runner #8306
Conversation
Neat, looks like we need a linux arm build of node-libcurl I'll take a look. |
Update on this: recent changes to github runner environments across all OS appear to causing all the exception tests to fail on any changes to node-libcurl. Going forward I can temporarily comment out these tests, just to see if this PR works, but ideally we would want to re-enable them before completing this work. |
0948970
to
64cba1a
Compare
Those 4 tests also fail locally for me, on both x86_64 and aarch64, regardless of whether the binary addon is prebuilt or not. |
@jackkav @hexchain we can retry with node-libcurl 2.33.7 |
Will update after that version become available on NPM. Out of interest, why is the node-libcurl dependency a fork? The original one also seems active at the moment. If there are non-upstreamable changes, is there any plan to rebase? |
64cba1a
to
e0bca85
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I'm not mistaken, these also need to be adapted to this change, at least pointing to x64 build for the time being
JCMais/node-libcurl#411 (comment) I don't believe there are significant non-upstreamable changes. Our motivations have generally been keeping our electron/nodejs up to date, which releases every 3 months. We are eagerly anticipating the N-API work in progress in the upstream to be completed, in order to upstream our changes and return to it. Then it will no longer be necessary for us to publish a new node-libcurl version for every nodejs upgrade. This will be a huge relief as it cut out several days of work every 2-3 months preparing node-libcurl releases. |
0b53a4f
to
ff376fe
Compare
The CI should pass for aarch64 now. I'll look at the release-publish workflow later. |
ff376fe
to
ff4e073
Compare
I've updated the release-* workflows but cannot test if it works (and I'm not too confident about it)... |
Ubuntu 24.04 introduced this new restriction so we just lift it for all Linux runners now to avoid confusion in the future.
ff4e073
to
2f109c9
Compare
Future work here is running a beta release and checking all the linux dist channels for the arm build. Snap craft and such. |
This PR tries to build one more artifact using the new GH ARM64 Linux runner (https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/).
I maintain the Insomnia flatpak on FlatHub (https://github.com/flathub/rest.insomnia.Insomnia) and building the application from source has been difficult. The environment for the compile/build phase is fully offline, which means any dependencies must be obtained beforehand, which in turn requires declaring them in the flatpak manifest. It is impossible to do this by hand for a large project like this. There is a tool to help generate this , but it doesn't support git sources, which this application depends on.
I've stumbled upon the news that GHA added ARM64 Linux runners and decided to give this a try. If it works and it's acceptable, hopefully we can rely on the official aarch64 linux binaries in the future.