@@ -5,6 +5,7 @@ mkdir-arg := if os() == "windows" { "-Force" } else { "-p" }
55latest-release := if os () == " windows" {" $(git tag -l --sort=v:refname | select -last 2 | select -first 1)" } else {` git tag -l --sort=v:refname | tail -n 2 | head -n 1 ` }
66wit-world := if os () == " windows" { " $env:WIT_WORLD=\" " + justfile_directory () + " \\ src\\ component_sample\\ wit\\ component-world.wasm" + " \" ;" } else { " WIT_WORLD=" + justfile_directory () + " /src/component_sample/wit/component-world.wasm" }
77wit-world-c := if os () == " windows" { " $env:WIT_WORLD=\" " + justfile_directory () + " \\ src\\ wasmsamples\\ components\\ runcomponent-world.wasm" + " \" ;" } else { " WIT_WORLD=" + justfile_directory () + " /src/wasmsamples/components/runcomponent-world.wasm" }
8+ wit-world-monte-carlo := if os () == " windows" { " $env:WIT_WORLD=\" " + justfile_directory () + " \\ src\\ wasip2_guest\\ monte-carlo-world.wasm" + " \" ;" } else { " WIT_WORLD=" + justfile_directory () + " /src/wasip2_guest/monte-carlo-world.wasm" }
89
910set windows-shell := [" pwsh.exe" , " -NoLogo" , " -Command" ]
1011
@@ -32,6 +33,7 @@ mkdir-redist target=default-target:
3233compile-wit :
3334 wasm-tools component wit ./ src/ wasmsamples/ components/ runcomponent.wit -w -o ./ src/ wasmsamples/ components/ runcomponent-world.wasm
3435 wasm-tools component wit ./ src/ component_sample/ wit/ example.wit -w -o ./ src/ component_sample/ wit/ component-world.wasm
36+ wasm-tools component wit ./ src/ wasip2_guest/ wit/ monte-carlo.wit -w -o ./ src/ wasip2_guest/ monte-carlo-world.wasm
3537
3638build-examples target = default-target features = " ": (build-wasm-examples target features) (build-rust-wasm-examples target features) (build-rust-component-examples target features)
3739
@@ -50,6 +52,13 @@ build-rust-component-examples target=default-target features="": (compile-wit)
5052 cd ./ src/ component_sample && cargo component build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
5153 cargo run {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --features " + features } }} -p hyperlight-wasm-aot compile {{ if features =~ " gdb" {" --debug" } else {" " } }} --component ./ src/ component_sample/ target/ wasm32 -unknown-unknown/ {{ target }} / component_sample.wasm ./ x64 / {{ target }} / component_sample.aot
5254
55+ build-monte-carlo-example target = default-target features = " ": (compile-wit ) (mkdir-redist target)
56+ # Monte Carlo Pi example using native wasm32-wasip2 + wit-bindgen
57+ # Always build in release mode to avoid WASI dependencies (debug mode pulls in entire WASI for some reason)
58+ rustup target add wasm32 -wasip2
59+ cd ./ src/ wasip2_guest && cargo build --lib --target wasm32 -wasip2 --release
60+ cargo run {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --features " + features } }} -p hyperlight-wasm-aot compile {{ if features =~ " gdb" {" --debug" } else {" " } }} --component ./ src/ wasip2_guest/ target/ wasm32 -wasip2/ release/ monte_carlo.wasm ./ x64 / {{ target }} / monte_carlo.aot
61+
5362check target = default-target :
5463 cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
5564 cd src/ rust_wasm_samples && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
@@ -99,9 +108,10 @@ examples-ci target=default-target features="": (build-rust-wasm-examples target)
99108 cargo run {{ if features == " " {' ' } else {" --no-default-features -F function_call_metrics," + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example metrics
100109 cargo run {{ if features == " " {" --no-default-features --features kvm,mshv3" } else {" --no-default-features -F function_call_metrics," + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example metrics
101110
102- examples-components target = default-target features = " ": (build-rust-component-examples target)
111+ examples-components target = default-target features = " ": (build-rust-component-examples target) ( build-monte-carlo-example target)
103112 {{ wit-world }} cargo run {{ if features == " " {' ' } else {" --no-default-features -F kvm -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example component_example
104113 {{ wit-world-c }} cargo run {{ if features == " " {' ' } else {" --no-default-features -F kvm -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example c-component
114+ {{ wit-world-monte-carlo }} cargo run {{ if features == " " {' ' } else {" --no-default-features -F kvm -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example monte_carlo_example
105115
106116# warning, compares to and then OVERWRITES the given baseline
107117bench-ci baseline target = " release" features = " ":
0 commit comments