@@ -3,8 +3,8 @@ default-tag:= "latest"
33build-wasm-examples-command := if os () == " windows" { " ./src/hyperlight_wasm/scripts/build-wasm-examples.bat" } else { " ./src/hyperlight_wasm/scripts/build-wasm-examples.sh" }
44mkdir-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 ` }
6- wit-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" }
7- wit-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" }
6+ wit-world := if os () == " windows" { " $env:WIT_WORLD=\" " + justfile_directory () + " \\ src\\ tests \\ rust_guests \\ component_sample\\ wit\\ component-world.wasm" + " \" ;" } else { " WIT_WORLD=" + justfile_directory () + " /src/tests/rust_guests /component_sample/wit/component-world.wasm" }
7+ wit-world-c := if os () == " windows" { " $env:WIT_WORLD=\" " + justfile_directory () + " \\ src\\ tests \\ c_guests \\ wasmsamples\\ components\\ runcomponent-world.wasm" + " \" ;" } else { " WIT_WORLD=" + justfile_directory () + " /src/tests/c_guests /wasmsamples/components/runcomponent-world.wasm" }
88
99set windows-shell := [" pwsh.exe" , " -NoLogo" , " -Command" ]
1010
@@ -30,8 +30,8 @@ mkdir-redist target=default-target:
3030 mkdir {{ mkdir-arg }} x64 / {{ target }}
3131
3232compile-wit :
33- wasm-tools component wit ./ src/ wasmsamples/ components/ runcomponent.wit -w -o ./ src/ wasmsamples/ components/ runcomponent-world.wasm
34- wasm-tools component wit ./ src/ component_sample/ wit/ example.wit -w -o ./ src/ component_sample/ wit/ component-world.wasm
33+ wasm-tools component wit ./ src/ tests / c_guests / wasmsamples/ components/ runcomponent.wit -w -o ./ src/ tests / c_guests / wasmsamples/ components/ runcomponent-world.wasm
34+ wasm-tools component wit ./ src/ tests / rust_guests / component_sample/ wit/ example.wit -w -o ./ src/ tests / rust_guests / component_sample/ wit/ component-world.wasm
3535
3636build-examples target = default-target features = " ": (build-wasm-examples target features) (build-rust-wasm-examples target features) (build-rust-component-examples target features)
3737
@@ -40,63 +40,63 @@ build-wasm-examples target=default-target features="": (compile-wit)
4040
4141build-rust-wasm-examples target = default-target features = " ": (mkdir-redist target)
4242 rustup target add wasm32 -unknown-unknown
43- cd ./ src/ rust_wasm_samples && cargo build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
44- 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 {" " } }} ./ src/ rust_wasm_samples/ target/ wasm32 -unknown-unknown/ {{ target }} / rust_wasm_samples.wasm ./ x64 / {{ target }} / rust_wasm_samples.aot
43+ cd ./ src/ tests / rust_guests / rust_wasm_samples && cargo build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
44+ 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 {" " } }} ./ src/ tests / rust_guests / rust_wasm_samples/ target/ wasm32 -unknown-unknown/ {{ target }} / rust_wasm_samples.wasm ./ x64 / {{ target }} / rust_wasm_samples.aot
4545
4646build-pulley-rust-wasm-examples target = default-target features = " ": (mkdir-redist target)
4747 rustup target add wasm32 -unknown-unknown
48- cd ./ src/ rust_wasm_samples && cargo build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
49- cargo run {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --features " + features } }} -p hyperlight-wasm-aot compile --pulley {{ if features =~ " gdb" {" --debug" } else {" " } }} ./ src/ rust_wasm_samples/ target/ wasm32 -unknown-unknown/ {{ target }} / rust_wasm_samples.wasm ./ x64 / {{ target }} / rust_wasm_samples.aot
48+ cd ./ src/ tests / rust_guests / rust_wasm_samples && cargo build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
49+ cargo run {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --features " + features } }} -p hyperlight-wasm-aot compile --pulley {{ if features =~ " gdb" {" --debug" } else {" " } }} ./ src/ tests / rust_guests / rust_wasm_samples/ target/ wasm32 -unknown-unknown/ {{ target }} / rust_wasm_samples.wasm ./ x64 / {{ target }} / rust_wasm_samples.aot
5050
5151build-rust-component-examples target = default-target features = " ": (compile-wit )
5252 # use cargo component so we don't get all the wasi imports https://github.com/bytecodealliance/cargo-component?tab=readme-ov-file#relationship-with-wasm32-wasip2
5353 # we also explicitly target wasm32-unknown-unknown since cargo component might try to pull in wasi imports https://github.com/bytecodealliance/cargo-component/issues/290
5454 rustup target add wasm32 -unknown-unknown
55- cd ./ src/ component_sample && cargo component build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
56- 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
57- cd ./ src/ greeter_sample && cargo component build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
58- 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/ greeter_sample/ target/ wasm32 -unknown-unknown/ {{ target }} / greeter_sample.wasm ./ x64 / {{ target }} / greeter_sample.aot
55+ cd ./ src/ tests / rust_guests / component_sample && cargo component build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
56+ 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/ tests / rust_guests / component_sample/ target/ wasm32 -unknown-unknown/ {{ target }} / component_sample.wasm ./ x64 / {{ target }} / component_sample.aot
57+ cd ./ src/ tests / rust_guests / greeter_sample && cargo component build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
58+ 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/ tests / rust_guests / greeter_sample/ target/ wasm32 -unknown-unknown/ {{ target }} / greeter_sample.wasm ./ x64 / {{ target }} / greeter_sample.aot
5959
6060build-pulley-rust-component-examples target = default-target features = " ": (compile-wit )
6161 # use cargo component so we don't get all the wasi imports https://github.com/bytecodealliance/cargo-component?tab=readme-ov-file#relationship-with-wasm32-wasip2
6262 # we also explicitly target wasm32-unknown-unknown since cargo component might try to pull in wasi imports https://github.com/bytecodealliance/cargo-component/issues/290
6363 rustup target add wasm32 -unknown-unknown
64- cd ./ src/ component_sample && cargo component build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
65- cargo run {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --features " + features } }} -p hyperlight-wasm-aot compile --pulley {{ if features =~ " gdb" {" --debug" } else {" " } }} --component ./ src/ component_sample/ target/ wasm32 -unknown-unknown/ {{ target }} / component_sample.wasm ./ x64 / {{ target }} / component_sample.aot
64+ cd ./ src/ tests / rust_guests / component_sample && cargo component build --target wasm32 -unknown-unknown --profile={{ if target == " debug" {" dev" } else { target } }}
65+ cargo run {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --features " + features } }} -p hyperlight-wasm-aot compile --pulley {{ if features =~ " gdb" {" --debug" } else {" " } }} --component ./ src/ tests / rust_guests / component_sample/ target/ wasm32 -unknown-unknown/ {{ target }} / component_sample.wasm ./ x64 / {{ target }} / component_sample.aot
6666
6767check target = default-target :
6868 cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
69- cd src/ rust_wasm_samples && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
70- cd src/ component_sample && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
71- cd src/ greeter_sample && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
69+ cd src/ tests / rust_guests / rust_wasm_samples && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
70+ cd src/ tests / rust_guests / component_sample && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
71+ cd src/ tests / rust_guests / greeter_sample && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
7272 cd src/ wasm_runtime && cargo hyperlight check --profile={{ if target == " debug" {" dev" } else { target } }}
7373 cd src/ hyperlight_wasm_macro && cargo check --profile={{ if target == " debug" {" dev" } else { target } }}
7474
7575fmt-check :
7676 rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
77- cd src/ rust_wasm_samples && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
78- cd src/ component_sample && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
79- cd src/ greeter_sample && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
77+ cd src/ tests / rust_guests / rust_wasm_samples && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
78+ cd src/ tests / rust_guests / component_sample && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
79+ cd src/ tests / rust_guests / greeter_sample && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
8080 cd src/ wasm_runtime && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
8181 cd src/ hyperlight_wasm_macro && rustup toolchain install nightly -c rustfmt && cargo + nightly fmt -v --all -- --check
8282
8383fmt :
8484 rustup toolchain install nightly -c rustfmt
8585 cargo + nightly fmt --all
86- cd src/ rust_wasm_samples && cargo + nightly fmt -v --all
87- cd src/ component_sample && cargo + nightly fmt -v --all
88- cd src/ greeter_sample && cargo + nightly fmt -v --all
86+ cd src/ tests / rust_guests / rust_wasm_samples && cargo + nightly fmt -v --all
87+ cd src/ tests / rust_guests / component_sample && cargo + nightly fmt -v --all
88+ cd src/ tests / rust_guests / greeter_sample && cargo + nightly fmt -v --all
8989 cd src/ wasm_runtime && cargo + nightly fmt -v --all
9090 cd src/ hyperlight_wasm_macro && cargo + nightly fmt -v --all
9191
9292export CC_x86_64_unknown_none := if os () == " windows" { justfile_directory () / " src/wasm_runtime/guest-toolchain/clang" } else { " " }
9393export AR_x86_64_unknown_none := if os () == " windows" { " llvm-ar" } else { " " }
9494
9595clippy target = default-target : (check target)
96- cargo hyperlight clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
97- cd src/ rust_wasm_samples && cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
98- cd src/ component_sample && cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
99- cd src/ greeter_sample && cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
96+ cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
97+ cd src/ tests / rust_guests / rust_wasm_samples && cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
98+ cd src/ tests / rust_guests / component_sample && cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
99+ cd src/ tests / rust_guests / greeter_sample && cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
100100 cd src/ wasm_runtime && cargo hyperlight clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
101101 cd src/ hyperlight_wasm_macro && cargo clippy --profile={{ if target == " debug" {" dev" } else { target } }} --all-targets --all-features -- -D warnings
102102
@@ -109,14 +109,15 @@ test target=default-target features="":
109109 cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }}
110110 cargo test test_metrics {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} -- --ignored
111111
112- examples-ci target = default-target features = " ": (build-rust-wasm-examples target)
112+ examples-modules target = default-target features = " ": (build-rust-wasm-examples target)
113113 cargo run {{ if features == " " {' ' } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example helloworld
114114 cargo run {{ if features == " " {' ' } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example hostfuncs
115115 cargo run {{ if features == " " {' ' } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example rust_wasm_examples
116116 cargo run {{ if features == " " {' ' } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example interruption
117117 cargo run {{ if features == " " {' ' } else {" --no-default-features -F function_call_metrics," + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example metrics
118118 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
119- just examples-pulley {{ target }} {{ features }}
119+
120+ examples-ci target = default-target features = " ": (examples-modules target features) (examples-components target features) (examples-pulley target features)
120121
121122examples-components target = default-target features = " ": (build-rust-component-examples target)
122123 {{ wit-world }} cargo run {{ if features == " " {' ' } else {" --no-default-features -F kvm -F " + features } }} --profile={{ if target == " debug" {" dev" } else { target } }} --example component_example
0 commit comments