-
-
Notifications
You must be signed in to change notification settings - Fork 815
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
automated arm/v7 and arm64 builds for alpine and linux built using docker buildx and github actions #1362
Conversation
9290cc7
to
8932555
Compare
Nice! Node 10 is still LTS maintenance, would you consider including it? |
@tkurki done 😊 |
Nice work! Would it be difficult to add Windows ARM64 support here? |
@MehediH i think that would be something for a different pull request. AFAIK it is not possible to emulate arm64 Windows with docker so it would require us relying on some other method. |
@kewde Could you please take a look at this and provide some feedback 😊 |
Any updates on this PR? When can we expect to get the prebuilt binaries for ARM? |
Repository owners only need to setup the credentials as github action secrets and merge this PR. Ideally I would also prefer using Github releases for hosting the built binaries instead of a S3 bucket that cannot be browsed 😅. So if a maintainer is reading this pls also consider checking out mapbox/node-pre-gyp#509 I would also volunteer for implementing that Github mirror feature. But right now TBH I am not willing to put in the work if it never gets reviewed... Mapbox please consider allocating more time for maintaining your open source projects... |
@kewde Is there anything we can do to help with this? Not having it is causing a lot of pain when deploying to AWS on the Graviton systems. |
Any progress in merging this? Note linux/arm64 binaries are very important for the upcoming Docker Desktop for Apple Silicon M1 as those will run natively there. |
In the meantime does anyone have any examples of how to self-host these binaries? I'd assume one could run the build, post the binaries on S3/local folder and pass in some kind of config or override to use the mirror/cache? |
Really hope this will be merged soon, there is a huge need for arm64 binaries. |
Can anybody accept this PR and finalise the arm64 binary publishing? |
travis supports arm64 architectures as well now, if keeping everything in travisci is the sticking point |
Hi, is there any chance to merge this any time soon? |
ARM binaries would be amazing! Looking forward to this being merged |
@n1ru4l Thanks soooo much! |
@kewde can you please review/merge this PR? |
So, what's the progress now? |
After 14 months, Can someone PLEASE merge this? @kewde @kkaefer @orlandov @springmeyer |
@springmeyer can you please enable github actions on this repo? It seems that it doesn't work in branchs (cfr branch Travis CI has quit so our build system is impacted, no new builds can be done, I also don't have the AWS S3 access keys to publish builds either so we're pretty stuck here. |
RUN npx node-pre-gyp install --build-from-source | ||
RUN npm run test | ||
RUN npx node-pre-gyp package | ||
RUN if [ "$AWS_ACCESS_KEY_ID" = "SKIP" ] || [ "$AWS_SECRET_ACCESS_KEY" = "SKIP" ] ; then echo "SKIP S3 PUBLISH" ; else npx node-pre-gyp publish ; fi |
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.
nit: I will change this if it eventually gets merged, we have a different mechanism to detect whether to publish or not.
on: | ||
push: | ||
tags: | ||
- "v*" |
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.
nit: will change to every push.
@kewde can you get in touch with me by email to discuss? |
@n1ru4l How to solve this error when compiling to the end |
Any updates? 🙏 |
we need this
Jess Julian Nielsen ***@***.***> 于2022年1月31日周一 14:55写道:
… Any updates? 🙏
—
Reply to this email directly, view it on GitHub
<#1362 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADE2EXFK5WWR4COK75UAESDUYYW6LANCNFSM4PDVQDZQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Do you need extra contribution to merge this? Can I help somehow? |
refs #1362 - the referenced PR added Linux ARM64 and ARMv7 prebuilds to CI so we can get prebuilt binaries upon releasing - CI has recently been reworked so I've rebased the PR and fixed it up - unfortunately, `node-pre-gyp` seems to ignore the difference between armv6 and armv7, and treats them both as `arm` so I've had to disable prebuilds for them for now - building via QEMU is INCREDIBLY slow so I've configured it to only run during a release or upon manual execution - full credit to @n1ru4l for the original PR
Hey all! 👋🏻 Ghost recently took over maintenance of Prebuilds are now completely done in GitHub Actions so this PR was perfect to add support for ARM. I've rebased the PR, merged it with what we've currently got, fixed up a few issues and I've just pushed it to One problem - I ran into this issue with 💯 credit to @n1ru4l for the PR - thanks a lot 🕺🏻 PS. if anyone knows of a magical way to speed up cross-compilation in GitHub Actions, let me know! The ARM builds are currently taking ~40mins so I've had to disable them for every push and only run them on releases 🐌 |
Released in v5.0.4 🙂 |
This pull request adds a GitHub action that uses docker buildx for generating binaries for the following platforms.
The binaries will also be deployed by using
node-pre-gyp publish
.An example build can be seen here: https://github.com/n1ru4l/node-sqlite3/actions
TODO:
e.g. v5.0.0
)AWS_SECRET_ACCESS_KEY
andAWS_SECRET_ACCESS_KEY
github secrets (repository maintainer)