This commit is contained in:
48
scripts/ci/actions/setup-prebuilt-onnx/prepare.sh
Executable file
48
scripts/ci/actions/setup-prebuilt-onnx/prepare.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user