49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
target="${1:?target required}"
|
|
|
|
case "$target" in
|
|
aarch64-apple-darwin)
|
|
ort_url="https://cdn.pyke.io/0/pyke:ort-rs/ms@1.24.1/aarch64-apple-darwin.tgz"
|
|
;;
|
|
x86_64-apple-darwin)
|
|
ort_url="https://cdn.pyke.io/0/pyke:ort-rs/ms@1.24.1/x86_64-apple-darwin.tgz"
|
|
;;
|
|
*)
|
|
echo "setup-prebuilt-onnx does not support target $target" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
ort_dir="${GITHUB_WORKSPACE}/target/onnxruntime/${target}"
|
|
ort_root="${ort_dir}/onnxruntime"
|
|
ort_lib="${ort_root}/lib"
|
|
|
|
write_env() {
|
|
{
|
|
echo "ORT_STRATEGY=system"
|
|
echo "ORT_LIB_LOCATION=${ort_lib}"
|
|
echo "ORT_SKIP_DOWNLOAD=1"
|
|
echo "ORT_PREFER_DYNAMIC_LINK=1"
|
|
} >>"${GITHUB_ENV}"
|
|
}
|
|
|
|
if [ ! -f "${ort_lib}/libonnxruntime.a" ]; then
|
|
rm -rf "${ort_dir}"
|
|
mkdir -p "${ort_lib}"
|
|
|
|
echo "Attempting to download prebuilt ONNX Runtime for ${target}..." >&2
|
|
if curl -fsSL --max-time 30 -o /tmp/ort.tgz "${ort_url}" 2>/dev/null; then
|
|
tar -xz -C "${ort_lib}" -f /tmp/ort.tgz
|
|
rm -f /tmp/ort.tgz
|
|
write_env
|
|
else
|
|
echo "Warning: Prebuilt ONNX Runtime not available for ${target}" >&2
|
|
echo "Will download and build ONNX Runtime during compilation" >&2
|
|
fi
|
|
else
|
|
echo "Using existing ONNX Runtime at ${ort_lib}" >&2
|
|
write_env
|
|
fi
|