diff --git a/ci/run-wasi-nn-example.sh b/ci/run-wasi-nn-example.sh index 4d82e84943..5a77c06fa5 100755 --- a/ci/run-wasi-nn-example.sh +++ b/ci/run-wasi-nn-example.sh @@ -8,6 +8,15 @@ set -e WASMTIME_DIR=$(dirname "$0" | xargs dirname) FIXTURE=https://gist.github.com/abrown/c7847bf3701f9efbb2070da1878542c1/raw/07a9f163994b0ff8f0d7c5a5c9645ec3d8b24024 +if [ -z "${1+x}" ]; then + # If no temporary directory is specified, create one. + TMP_DIR=$(mktemp -d -t ci-XXXXXXXXXX) + REMOVE_TMP_DIR=1 +else + # If a directory was specified, use it and avoid removing it. + TMP_DIR=$(realpath $1) + REMOVE_TMP_DIR=0 +fi # Inform the environment of OpenVINO library locations. Then we use OPENVINO_INSTALL_DIR below to avoid building all of # OpenVINO from source (quite slow). @@ -17,7 +26,6 @@ source /opt/intel/openvino/bin/setupvars.sh OPENVINO_INSTALL_DIR=/opt/intel/openvino cargo build -p wasmtime-cli --features wasi-nn # Download all necessary test fixtures to the temporary directory. -TMP_DIR=${1:-$(mktemp -d -t ci-XXXXXXXXXX)} wget --no-clobber --directory-prefix=$TMP_DIR $FIXTURE/frozen_inference_graph.bin wget --no-clobber --directory-prefix=$TMP_DIR $FIXTURE/frozen_inference_graph.xml wget --no-clobber --directory-prefix=$TMP_DIR $FIXTURE/tensor-1x3x300x300-f32.bgr @@ -31,5 +39,7 @@ popd # Run the example in Wasmtime (note that the example uses `fixture` as the expected location of the model/tensor files). OPENVINO_INSTALL_DIR=/opt/intel/openvino cargo run --features wasi-nn -- run --mapdir fixture::$TMP_DIR $TMP_DIR/wasi-nn-example.wasm -# Clean up. -rm -rf $TMP_DIR \ No newline at end of file +# Clean up the temporary directory only if it was not specified (users may want to keep the directory around). +if [[ $REMOVE_TMP_DIR -eq 1 ]]; then + rm -rf $TMP_DIR +fi \ No newline at end of file