@matklad , @Laurențiu Nicola , though this one is merged, I'd like to settle whether which specific architectures and on which os need to be filtered out. Maybe we should only allow users with the same os and arch as for the one we build on ci only?
Maybe we should only allow users with the same os and arch as the one we build on ci?
That's the point, since the binaries aren't really more portable than that. And if we add support for new targets we can relax the self-update check.
I guess we could also encode the target in e.g. the release artifact name to automatically get support for newer targets when they are available, but it might not be worth the effort.
I don't think that we should do automation on selecting the proper binaries from the release right now. The amount of platforms is not so big and we support only a tiny bit of them, though if the list will grow out of control the automation won't be avoidable, but it won't be too hard to implement it.
So I guess we need to figure out which arch is used on CI and properly select only 3
(os, arch) tuples to match with.
I agree. So we only support Windows/x64, Linux/x64 and Darwin/x64.
Just wanted to ask you on how you figured out which arch we support)
I cheated and assumed so. We have binaries for Windows, Mac and Linux, and they must be 64-bit (
x64 in Node terms)
They're built by GitHub Actions:
os: [ubuntu-latest, windows-latest, macos-latest]
I hope @matklad will be able to settle the 3
(os, arch) tuples for sure. Otherwise we may just send a nodejs script on ci that logs
process.arch so that we are 100% sure.
I'm pretty sure they'll be
(platform and arch)