bindings/CI: restore ONNX Go test compilation and make it mandatory
#2,477 opened on Jul 12, 2026
Repository metrics
- Stars
- (4,293 stars)
- PR merge metrics
- (PR metrics pending)
Description
Summary
Restore the ONNX Go binding test contract and add an always-required provider-independent compile and unit lane. Owner surfaces: onnx-binding/semantic-router_test.go, onnx-binding/go.mod, the ONNX Go wrapper, and .github/workflows/.
Current behavior
The ONNX Go test package no longer compiles against current initialization and function signatures, and normal required CI does not catch the drift. Provider or model availability must not determine whether the base API contract is checked.
Expected behavior
Provider-independent ONNX Go tests always compile and run in required CI, while explicitly selected provider/model receipts exercise runtime behavior without turning the base gate into a skip-only pass.
Acceptance
- Update tests to current named model/runtime APIs and remove references to retired globals or signatures.
- Add a required model-free compile and unit job.
- Keep provider/model-dependent receipts explicitly selected and visibly skipped or failed.
- Cover lifecycle, error arity, Matryoshka shape/signature, and ABI/capability contracts.
- Link the required CI contract from #2396.
Validation
- Run
cd onnx-binding && go test ./.... - Run the provider-independent job without model artifacts and prove it executes non-zero tests.
- Run the selected ROCm/provider receipt on supported hardware.
- Verify a deliberate API signature drift fails required CI.
Related
- Parent audit: #2375
- Native runtime contracts: #2396
- Hardware matrix: #1510