ci: D-05 ONNX cross-compile pattern (build-linux.yaml + buildenv.sh) #36
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_embedder!36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development_mik_d05_embedder"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Third and final application of D-05 — ONNX cross-compile via
load-dynamic+ bundledlibonnxruntime.so+ matrix musl→gnu — afterhero_editor(session 60, v0.1.0-rc4) andhero_voice(session 61, v0.1.0-rc2).No Cargo edits needed —
ortwas already declared withdefault-features = false, features = ["load-dynamic", "api-24"]on the workspace dep. Cargo invariant verified:cargo tree -e features -p hero_embedder_lib | grep -E 'download-binaries|copy-dylibs'returns empty.Commits
aa5647b—chore: cargo fmt + clippy explicit_auto_deref fix(38 fmt diffs + 1 clippy site, mechanical, mirrors hero_matrixchat#7 precedent).829745b—ci: D-05 ONNX cross-compile pattern for hero_embedder:ONNXRUNTIME_VERSION=1.25.1inbuildenv.sh(lockstep with voice + editor).build-linux.yamlto voice-canonical D-05 shape (manual git clone, Bundle ONNX Runtime step, .so upload to both Release Assets and Package Registry, target-triple-named asset naming per home#212).x86_64-unknown-linux-musl→x86_64-unknown-linux-gnu.aarch64-unknown-linux-gnuunchanged.CXX_x86_64_unknown_linux_gnu=g++andCXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++env on Build step (embedder pulls esaxx-rs via tokenizers).6b8eb5f—ci: add hero_embedderd to BINARIES:load-dynamic. Without it in BINARIES the bundled .so has no consumer, which defeats D-05's whole point for hero_embedder. The other four binaries (hero_embedder, _server, _ui, _proxy) don't load ort directly.Pre-merge workspace gate
cargo fmt --checkclean (after first commit).cargo clippy --workspace --all-targets -- -D warningsclean (after first commit).cargo build --workspace --releaseclean (2m 33s).Expected release artifacts on next tag
12 assets total:
hero_embedderd,hero_embedder_server,hero_embedder,hero_embedder_ui,hero_embedder_proxy) × 2 archs.libonnxruntime.so.1.25.1-x86_64-unknown-linux-gnu.libonnxruntime.so.1.25.1-aarch64-unknown-linux-gnu.Consumer wiring
Separate PR on
hero_skillswill addservice_embedder install --download(mirror ofservice_voiceshape) plus a rule-of-three refactor extractingsvc_install_onnx_runtime_downloadfromservice_editor.nu+service_voice.nuinto sharedlib.nu.Coverage
16/15 → 17/15+ services with
--download. D-05 ONNX rollout complete after this lands.Refs
Apply the D-05 ONNX overlay (third + final ONNX service after hero_editor and hero_voice). load-dynamic was already declared on the workspace ort dep, so this PR is the workflow + buildenv half of the overlay. - Pin ONNXRUNTIME_VERSION=1.25.1 in buildenv.sh (lockstep with voice + editor; bump in lockstep with service_embedder.nu SVX_ONNX_VERSION). - Port build-linux.yaml to the voice-canonical D-05 shape: * matrix x86_64-unknown-linux-musl -> x86_64-unknown-linux-gnu (Microsoft ships no musl onnxruntime tarball; D-05 swap) * aarch64-unknown-linux-gnu unchanged * manual git clone checkout (Forgejo + actions/checkout@v4 auth bug) * preserve esaxx-rs CXX env vars (CXX_x86_64_unknown_linux_gnu=g++, CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++) — embedder pulls esaxx-rs via tokenizers * Bundle ONNX Runtime step downloads Microsoft's official tarball and copies libonnxruntime.so* next to the binaries * Upload Release Assets and Upload to Package Registry both publish libonnxruntime.so.<ver>-<target-triple> alongside the binaries Expected release artifacts on next tag: 10 assets total 4 binaries (hero_embedder_server, hero_embedder, hero_embedder_ui, hero_embedder_proxy) x 2 archs + libonnxruntime.so.1.25.1 x 2 archs. Refs lhumina_code/hero_demo#54 Refs decisions/D-05-onnx-cross-compile.md (in https://forge.ourworld.tf/lhumina_code/hero_demo) Signed-off-by: mik-tf