m4heshd / better-sqlite3-multiple-ciphers

better-sqlite3 with multiple-cipher encryption support 🔒
MIT License
137 stars 27 forks source link

Add support for `win-arm64` prebuilt binaries #82

Closed thecodrr closed 6 months ago

m4heshd commented 6 months ago

Unfortunately, it's not possible at the moment due to GitHub not providing a Windows arm64 runner. You can keep track of https://github.com/actions/runner-images/issues/768 for updates.

thecodrr commented 6 months ago

@m4heshd maybe I am doing something wrong but I was able to generate an arm64 build of better-sqlite3-multiple-cipher on my on x86/x64 Windows PC using Visual Studio ARM build tools.

m4heshd commented 6 months ago

Just tested and this is technically possible now since Node has been providing Windows headers for arm since Node v20, at https://nodejs.org/dist/v20.0.0. But builds will still fail for Node v18. Electron however provided arm headers since v6.0.8. So electron builds seem to be fine.

I might add this feature but need to test it a lot before. I already tested all Electron versions and currently supported Node versions. Everything's fine except Node v18.

thecodrr commented 6 months ago

That's good to know.

In the meantime, I have forked this project since I need the ARM binaries for Electron quite urgently. I'll be keeping an eye out for when you release support for ARM builds so I can move back.

m4heshd commented 6 months ago

PR already created for the upstream at https://github.com/WiseLibs/better-sqlite3/pull/1141.

You can take a look at the tests here: https://github.com/m4heshd/better-sqlite3-multiple-ciphers/actions/runs/7853495517

thecodrr commented 6 months ago

Thanks for the quick response!

m4heshd commented 6 months ago

This feature is now available in v9.4.1. Closing this.

thecodrr commented 6 months ago

@m4heshd thank you for adding this so quickly! Would it also be possible to add support for linux-arm64 prebuilds for electron?

m4heshd commented 6 months ago

We talked about that at BS3 but not feasible for the moment. It can be done, but due to the limitations of Qemu, it would take days for the workflow to finish if we do that. Have to wait for dedicated hardware. But who knows? This might be possible already 🤷🏻‍♂️. We just don't have enough time to put into research sadly.

thecodrr commented 2 months ago

@m4heshd positive development in this area: https://github.blog/changelog/2024-06-03-actions-arm-based-linux-and-windows-runners-are-now-in-public-beta/

m4heshd commented 2 months ago

That is indeed great news. 🥳