mirror of
https://github.com/golang/go
synced 2024-11-15 11:20:30 -07:00
06145fe03c
Wasmtime 14.0.0 introduced new CLI flags and removed the existing flags, in particular the --max-wasm-stack flag we were using to avoid errors in some tests. This introduces a regular expression based switch that uses the old flags for wasmtime versions < 14 and the new flags otherwise. Fixes #63718 Change-Id: I44673e7d9f8729065757abdbf8c41e8a61897d6a Reviewed-on: https://go-review.googlesource.com/c/go/+/541219 Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
32 lines
1.3 KiB
Bash
Executable File
32 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright 2023 The Go Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file.
|
|
|
|
case "$GOWASIRUNTIME" in
|
|
"wasmedge")
|
|
exec wasmedge --dir=/ --env PWD="$PWD" --env PATH="$PATH" ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
|
|
;;
|
|
"wasmer")
|
|
exec wasmer run --dir=/ --env PWD="$PWD" --env PATH="$PATH" ${GOWASIRUNTIMEARGS:-} "$1" -- "${@:2}"
|
|
;;
|
|
"wazero")
|
|
exec wazero run -mount /:/ -env-inherit -cachedir "${TMPDIR:-/tmp}"/wazero ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
|
|
;;
|
|
"wasmtime" | "")
|
|
# Match the major version in "wasmtime-cli 14.0.0". For versions before 14
|
|
# we need to use the old CLI. This requires Bash v3.0 and above.
|
|
# TODO(johanbrandhorst): Remove this condition once 1.22 is released.
|
|
# From 1.23 onwards we'll only support the new wasmtime CLI.
|
|
if [[ "$(wasmtime --version)" =~ wasmtime-cli[[:space:]]([0-9]+)\.[0-9]+\.[0-9]+ && "${BASH_REMATCH[1]}" -lt 14 ]]; then
|
|
exec wasmtime run --dir=/ --env PWD="$PWD" --env PATH="$PATH" --max-wasm-stack 1048576 ${GOWASIRUNTIMEARGS:-} "$1" -- "${@:2}"
|
|
else
|
|
exec wasmtime run --dir=/ --env PWD="$PWD" --env PATH="$PATH" -W max-wasm-stack=1048576 ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Unknown Go WASI runtime specified: $GOWASIRUNTIME"
|
|
exit 1
|
|
;;
|
|
esac
|