-
Notifications
You must be signed in to change notification settings - Fork 410
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
Upgrade wasmvm to v1.0.0-beta9; use libwasmvm_muslc.aarch64.a in docker #790
Conversation
Codecov Report
@@ Coverage Diff @@
## master #790 +/- ##
==========================================
+ Coverage 58.64% 58.68% +0.03%
==========================================
Files 50 50
Lines 5845 5845
==========================================
+ Hits 3428 3430 +2
+ Misses 2166 2165 -1
+ Partials 251 250 -1
|
6b9fbcc
to
35d86bd
Compare
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.
This is a milestone 🏆 and will make many devs happy.
I have built and manually tested on OSX Intel but it would be good to have @maurolacy to also confirm for M1.
With this working, let's remove M1 macs are not fully supported.
in https://github.com/CosmWasm/wasmd#supported-systems
RUN LEDGER_ENABLED=false BUILD_TAGS=muslc make build | ||
RUN LEDGER_ENABLED=false BUILD_TAGS=muslc LINK_STATICALLY=true make build | ||
RUN echo "Ensuring binary is statically linked ..." \ | ||
&& (file /code/build/wasmd | grep "statically linked") |
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.
nice check 👏
I'm getting
when building for x86_64. ( The arm64 build worked. |
This is expected since you start with an ARM base image when working on an M1 machine. There are two options to build thimages now:
This is going to be the next question for the deployment: do we build the ARM version in an ARM machine on CircleCI (1.)? Or do we use cross builds and build both from the Intel machines (2.)? |
Makes sense. In fact, I now tried with
and it worked. It takes ~9 minutes to build the amd64 image this way, though. |
We do not build release artifacts with wasmd but leave this to the implementing chains. |
I'm thinking of https://hub.docker.com/r/cosmwasm/wasmd, which is heavily used for development. I think it's worth considering to have both an x86_64 and and aarch64 build using docker's multi-arch functionality. But this is a separate ticket. |
Yeah, I did some multi arch build for some of the tinygo deps when getting things working on arm64 and once you figure out the process (build them both, then make some linking image that references them), it was actually relatively easy. Just a bit of a time sink the first time. |
Thank you @maurolacy for the cross build instructions. I collected them in this wikipage for all 4 cases: https://github.com/CosmWasm/wasmd/wiki/Maintainer-notes |
This is woking now 🎉
Steps to test:
docker build --pull -t "cosmwasm/wasmd:manual" .
(unchanged)docker build --pull -t "cosmwasm/wasmd:manual" --build-arg arch=aarch64 .