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.
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.

View File

@@ -277,13 +277,6 @@ fn runtime_files(
.collect(),
};
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 {
let path = release_dir.join(&name);
require_file(&path)?;
@@ -694,7 +687,6 @@ mod tests {
"bds-mcp",
"libbds_core.so",
"libbds_server.so",
"libonnxruntime.so.1",
] {
fs::write(release.join(file), file).unwrap();
}
@@ -718,9 +710,10 @@ mod tests {
.map(|entry| entry.unwrap().path().unwrap().into_owned())
.collect::<Vec<_>>();
assert!(
names
!names
.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("libbds_core.so")));