Package statically linked ONNX runtimes correctly.
Some checks failed
Tagged release / prepare-release (push) Successful in 3m1s
Tagged release / build-linux-x64 (push) Successful in 36m15s
Tagged release / build-macos (push) Failing after 24m59s
Tagged release / build-linux-arm64 (push) Successful in 34m54s
Tagged release / build-windows (push) Failing after 30m33s
Tagged release / publish-release (push) Has been skipped

This commit is contained in:
Hermes Agent
2026-08-14 22:18:59 +00:00
parent f59fd03ad2
commit 612f4f71df
2 changed files with 4 additions and 11 deletions

View File

@@ -35,7 +35,7 @@ RuDS uses no JavaScript application runtime and loads no CSS or JavaScript from
The packaged Apple Silicon application requires macOS 26 or newer. The packaged Apple Silicon application requires macOS 26 or newer.
Packaged executables share native `bds-core` and `bds-server` dynamic libraries. Release archives also carry the matching ONNX Runtime library; Windows archives include Microsoft's DirectML redistributable and its license for GPU-accelerated local embeddings. The **Install CLI** action replaces `~/.local/bin/bds-cli` with a symbolic link to the packaged CLI, so the command executes beside the same runtime libraries and always follows the package selected by the latest installation. Packaged executables share native `bds-core` and `bds-server` dynamic libraries. macOS and Linux link ONNX Runtime statically into `bds-core`; Windows archives carry the matching ONNX Runtime DLL plus Microsoft's DirectML redistributable and license for GPU-accelerated local embeddings. The **Install CLI** action replaces `~/.local/bin/bds-cli` with a symbolic link to the packaged CLI, so the command executes beside the same runtime libraries and always follows the package selected by the latest installation.
Local macOS packages are ad-hoc signed without hardened runtime. A Developer ID and notarization remain optional release-channel steps for downloads that should pass Gatekeeper without a user override. Local macOS packages are ad-hoc signed without hardened runtime. A Developer ID and notarization remain optional release-channel steps for downloads that should pass Gatekeeper without a user override.

View File

@@ -277,13 +277,6 @@ fn runtime_files(
.collect(), .collect(),
}; };
external_names.sort(); external_names.sort();
if external_names.is_empty() {
return Err(format!(
"ONNX Runtime is missing from release directory: {}",
release_dir.display()
)
.into());
}
for name in external_names { for name in external_names {
let path = release_dir.join(&name); let path = release_dir.join(&name);
require_file(&path)?; require_file(&path)?;
@@ -694,7 +687,6 @@ mod tests {
"bds-mcp", "bds-mcp",
"libbds_core.so", "libbds_core.so",
"libbds_server.so", "libbds_server.so",
"libonnxruntime.so.1",
] { ] {
fs::write(release.join(file), file).unwrap(); fs::write(release.join(file), file).unwrap();
} }
@@ -718,9 +710,10 @@ mod tests {
.map(|entry| entry.unwrap().path().unwrap().into_owned()) .map(|entry| entry.unwrap().path().unwrap().into_owned())
.collect::<Vec<_>>(); .collect::<Vec<_>>();
assert!( assert!(
names !names
.iter() .iter()
.any(|name| name.ends_with("libonnxruntime.so.1")) .any(|name| name.to_string_lossy().contains("onnxruntime")),
"the statically linked Linux runtime must not require an external ORT library"
); );
assert!(names.iter().any(|name| name.ends_with("bds-ui"))); assert!(names.iter().any(|name| name.ends_with("bds-ui")));
assert!(names.iter().any(|name| name.ends_with("libbds_core.so"))); assert!(names.iter().any(|name| name.ends_with("libbds_core.so")));