Open brooksmtownsend opened 1 year ago
First, a note: static builds are not supported by Erlang at all. It is not possible to statically-link Erlang OTP, therefore static builds are technically impossible today if we keep using OTP.
Static builds would only be possible if we used an alternative Erlang implementation to compile wasmcloud-otp
, e.g. https://github.com/GetFirefly/firefly , which is experimental and does not have good support for Elixir yet
In https://github.com/wasmCloud/wasmcloud-otp/pull/616#issue-1689293596 we get artifacts with minimum possible amount of dependencies (NOTE, that e.g. Musl self-extracting binary is, indeed, statically-linked, but the actual executables are not, and cannot be, as outlined above), that is:
ca-certificates
- self-explanatorylibgcc
- that's actually a NIF dependency, which is added by the Rust compiler https://github.com/rust-lang/rust/issues/82521GNU build is compatible with Ubuntu 20.04 the earliest
All of these builds are produced by CI (including the Erlang distribution). MacOS ERTS are available pre-built at https://github.com/rvolosatovs/otp/releases/tag/OTP-25.3.2, the rest are automatically built if necessary, but in overwhelming majority of cases it should be fetched from cache
For all intents and purposes, I think we have a great set of platforms here. I'm going to add the pinned
label so that it won't get cleaned up by our stale issue bot and leave it as a good piece of information.
This issue serves as a larger epic tracking the release artifacts we produce, platforms wasmCloud is compatible with, and some specific dependencies that are necessary to run on specific platforms.
Current Release Artifacts
Current remaining work in the release artifacts section
Current remaining work in the future release artifacts section