From 003d41dd5e7cf76ee87f5933389351d6d206f3be Mon Sep 17 00:00:00 2001 From: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Date: Wed, 7 Sep 2022 11:02:26 +0800 Subject: [PATCH] Updates all 3rd party dependencies (#802) wazero has no runtime deps. This updates tools we use as well as dependencies used in comparison with other runtimes. Signed-off-by: Adrian Cole --- .github/workflows/commit.yaml | 2 +- .github/workflows/examples.yaml | 4 +-- Makefile | 10 ++++--- examples/allocation/zig/README.md | 22 ++++++++++----- examples/allocation/zig/testdata/greet.wasm | Bin 44066 -> 44277 bytes imports/emscripten/testdata/grow.wasm | Bin 7969 -> 7969 bytes .../example/testdata/zig-cc/cat.wasm | Bin 37930 -> 38208 bytes internal/integration_test/vs/wasmedge/go.mod | 2 +- internal/integration_test/vs/wasmedge/go.sum | 4 +-- .../integration_test/vs/wasmedge/wasmedge.go | 25 ++++++++++-------- internal/integration_test/vs/wasmtime/go.mod | 2 +- internal/integration_test/vs/wasmtime/go.sum | 4 +-- netlify.toml | 2 +- 13 files changed, 46 insertions(+), 31 deletions(-) diff --git a/.github/workflows/commit.yaml b/.github/workflows/commit.yaml index 6b1caaad..ac3b13e0 100644 --- a/.github/workflows/commit.yaml +++ b/.github/workflows/commit.yaml @@ -192,7 +192,7 @@ jobs: # The version here is coupled to internal/integration_test/go.mod, but it # isn't always the same as sometimes the Go layer has a broken release. env: - WASMEDGE_VERSION: 0.9.1 + WASMEDGE_VERSION: 0.11.0 - uses: actions/checkout@v3 diff --git a/.github/workflows/examples.yaml b/.github/workflows/examples.yaml index ac25d3db..400ff3b9 100644 --- a/.github/workflows/examples.yaml +++ b/.github/workflows/examples.yaml @@ -16,7 +16,7 @@ on: - 'Makefile' env: - EMSDK_VERSION: "3.1.16" + EMSDK_VERSION: "3.1.20" jobs: # Not all toolchains are idempotent when generating wasm, so we don't check @@ -53,7 +53,7 @@ jobs: - name: Install Zig run: | # on laptop, use `brew install --build-from-source zig --HEAD` sudo apt install xz-utils - sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.3007+6ba2fb3db.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin' + sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.3880+e2bb92b2e.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin' - name: Cache Emscripten id: cache-emsdk diff --git a/Makefile b/Makefile index b0eb9aca..fa20db81 100644 --- a/Makefile +++ b/Makefile @@ -5,9 +5,9 @@ space := space += goimports := golang.org/x/tools/cmd/goimports@v0.1.12 -golangci_lint := github.com/golangci/golangci-lint/cmd/golangci-lint@v1.48.0 +golangci_lint := github.com/golangci/golangci-lint/cmd/golangci-lint@v1.49.0 # sync this with netlify.toml! -hugo := github.com/gohugoio/hugo@v0.101.0 +hugo := github.com/gohugoio/hugo@v0.102.3 # Make 3.81 doesn't support '**' globbing: Set explicitly instead of recursion. all_sources := $(wildcard *.go */*.go */*/*.go */*/*/*.go */*/*/*.go */*/*/*/*.go) @@ -44,15 +44,17 @@ build.bench: .PHONY: test.examples test.examples: - @go test ./examples/... ./imports/assemblyscript/example/... ./imports/go/example/... ./imports/wasi_snapshot_preview1/example/... + @go test ./examples/... ./imports/assemblyscript/example/... ./imports/emscripten/... ./imports/go/example/... ./imports/wasi_snapshot_preview1/example/... .PHONY: build.examples.as build.examples.as: @cd ./imports/assemblyscript/example/testdata && npm install && npm run build +# Use -fstage1 to avoid bugs in the new compiler +# https://github.com/ziglang/zig/wiki/Self-Hosted-Compiler-Upgrade-Guide#is-it-time-to-upgrade .PHONY: build.examples.zig build.examples.zig: - @cd examples/allocation/zig/testdata/ && zig build -Drelease-small=true && mv zig-out/lib/greet.wasm . + @cd examples/allocation/zig/testdata/ && zig build -fstage1 -Drelease-small=true && mv zig-out/lib/greet.wasm . tinygo_sources := examples/basic/testdata/add.go examples/allocation/tinygo/testdata/greet.go imports/wasi_snapshot_preview1/example/testdata/tinygo/cat.go .PHONY: build.examples.tinygo diff --git a/examples/allocation/zig/README.md b/examples/allocation/zig/README.md index 0d3f2a6c..ab40a673 100644 --- a/examples/allocation/zig/README.md +++ b/examples/allocation/zig/README.md @@ -1,6 +1,7 @@ ## Zig allocation example -This example shows how to pass strings in and out of a Wasm function defined in Zig, built with `zig build`. +This example shows how to pass strings in and out of a Wasm function defined in +Zig, built with `zig build`. Ex. ```bash @@ -9,12 +10,21 @@ wasm >> Hello, wazero! go >> Hello, wazero! ``` -Under the covers, [greet.zig](testdata/greet.zig) does a few things of interest: +[greet.zig](testdata/greet.zig) does a few things of interest: * Uses `@ptrToInt` to change a Zig pointer to a numeric type -* Uses `[*]u8` as an argument to take a pointer and slices it to build back a string +* Uses `[*]u8` as an argument to take a pointer and slices it to build back a + string The Zig code exports "malloc" and "free", which we use for that purpose. -Note: This example uses `@panic()` rather than `unreachable` to handle errors -since `unreachable` emits a call to panic only in `Debug` and `ReleaseSafe` mode. -In `ReleaseFast` and `ReleaseSmall` mode, it would lead into undefined behavior. +### Notes + +This example uses `@panic()` rather than `unreachable` to handle errors +since `unreachable` emits a call to panic only in `Debug` and `ReleaseSafe` +mode. In `ReleaseFast` and `ReleaseSmall` mode, it would lead into undefined +behavior. + +If building wasm with a pre-release version of Zig 0.10.0, use `-fstage1` to +avoid [bugs in the new compiler][1]. + +[1]: https://github.com/ziglang/zig/wiki/Self-Hosted-Compiler-Upgrade-Guide#is-it-time-to-upgrade diff --git a/examples/allocation/zig/testdata/greet.wasm b/examples/allocation/zig/testdata/greet.wasm index 2e12633ac43ad489393d941ab29db24439caed87..992ee10c744eecd3d90cfe2e9d6de193d4f54f6c 100755 GIT binary patch delta 14979 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 delta 14653 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 diff --git a/imports/emscripten/testdata/grow.wasm b/imports/emscripten/testdata/grow.wasm index ccf0fb56cb57b99f7be60b898422bd2ca86d92b7..f3825edb9609bcd75b6a357e9e41e09eb8213b1f 100755 GIT binary patch delta 17 YcmZ2zx6p3GRaqAHEXRt?H)TB-0YAA0fdBvi delta 17 YcmZ2zx6p3GRaqA1EXSJ7H)TB-0Y9wm%x`sa+c7~3F-PqM33_t6car zrc#e>bB}IQ?`hk(|+|y~`#Gx*Ax=`V66V@{pyLqcu~*CPC0Jmzap5xD=NL z%5PcRUFrFwe8A}N790ti4DCP(!-Wzo0(!OFU_e1d@(cahBRC}tz(o!6rSfNe%4=E5 z!D;b8$RcLkhIU}d;1#ZrwDDxYr!g8bAEyj`$I1tpT*W0~0dtpO!>++K!G&hr8sWmG zKo7$Mno`^je1@c;0Qx?TQwy1(q0EGaGvu4lvE1X~#Q_7I;w>EJ2sQvB!5^g*Jl>^$ ztX8M{*P&Q;v40&1qB|~ul#U+uzv1VnEhZHCd*YNn8mlOb)!t0fW3e(!S#W~99g3Xz^d*_ z_0A*K@b5I6O{VgWsAAD$XoUyE%_3SQs3|Z@RoRYNS0iYfwH}D*?M|W!np=~4!J2vj zi(#Lg_gKUfkGKMtJNiTG1e5^vpYHgA;R&%3+Km#>D-ISSN^KsQs2mC+Rzg&%4m*lJ z@R+FTzpa;!89tzobiqLwT%ivu9@lHRP`F(CIpj>2b4vf1dw(|LN8*&GP6AUQ1cc7; z`gDl-ZZzN4<$UPK3fRaHD!}y3{OuQ4INwRjfN=3$>Ij^pR3~k9+VF6s-K{QFYOd)J zjuVa+K`hSyLT}m1H&Bs5JJcPff3mNfe`re{iyffP%cc!1Z1T?o>v;N`#wLaZSKtQ4 zl<7+|&Ea;CtH4#-q0%qvj|=-_?x3Rw{XSbpS5Fkr#%@ygfIx;dec~31U6psG89Crl z%x)5~3v^|UPKpvEC`l*;#R-|dk@bMeWJ{ERmc8HZngV8RIl_t;`%%(_XS3HIZEy(a6e3 zv^3S-4mgTs>~2#pcq<}XjJ&a%)TaW0mp0bP)