Skip to content
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

[EPIC] wasmCloud OTP Platform Support #608

Open
4 tasks done
brooksmtownsend opened this issue Apr 10, 2023 · 3 comments
Open
4 tasks done

[EPIC] wasmCloud OTP Platform Support #608

brooksmtownsend opened this issue Apr 10, 2023 · 3 comments
Labels
pinned Should not be removed as stale over time

Comments

@brooksmtownsend
Copy link
Member

brooksmtownsend commented Apr 10, 2023

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

Release Binary Operating System Architecture Static Platform Dependencies CI/CD
wasmcloud_host_x86_64_linux_gnu Linux x86_64 glibc 2.29+, ca-certificates
wasmcloud_host_x86_64_linux_musl Linux x86_64 libgcc
wasmcloud_host_x86_64_darwin MacOS x86_64 N/A
wasmcloud_host_x86_64_windows.exe Windows x86_64 Windows 11 Home
wasmcloud_host_aarch64_linux_gnu Linux aarch64 glibc 2.29+, ca-certificates
wasmcloud_host_aarch64_linux_musl Linux aarch64 libgcc
wasmcloud_host_aarch64_darwin MacOS aarch64 N/A

Current remaining work in the release artifacts section

  • Automatic CI/CD building of the aarch64-macos.tar.gz artifact
  • Replace downloads of dynamically linked hosts with static hosts when available to maximize compatibility

Current remaining work in the future release artifacts section

  • Static x86_64 MacOS builds to remove openssl dependency
  • Static aarch64 MacOS builds to remove openssl dependency
@brooksmtownsend brooksmtownsend added documentation Improvements or additions to documentation Epic labels Apr 10, 2023
@brooksmtownsend
Copy link
Member Author

#616 is addressing many of these, just keep an eye out

@rvolosatovs
Copy link
Member

rvolosatovs commented May 8, 2023

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 #616 (comment) 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:

GNU 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

@rvolosatovs rvolosatovs mentioned this issue May 8, 2023
10 tasks
@brooksmtownsend
Copy link
Member Author

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.

@brooksmtownsend brooksmtownsend added pinned Should not be removed as stale over time and removed documentation Improvements or additions to documentation Epic labels May 16, 2023
@jordan-rash jordan-rash pinned this issue Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pinned Should not be removed as stale over time
Projects
None yet
Development

No branches or pull requests

2 participants