Establish a single source of truth for the ONNX Runtime version
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 432
- Forks
- 51
- PR merge metrics
- No merged PRs in 30d
Description
Context
In #406 we rolled the ONNX Runtime back to 1.24.2 and pinned github.com/yalue/onnxruntime_go to v1.27.0 because the C API headers in onnxruntime_go require a matching runtime version. The version is currently repeated in several places that can drift independently:
go.mod(onnxruntime_goversion, which implicitly dictates the runtime version)docs/02-development-guide.md(download URLs,cptargets, verify step, env var)- The downloaded/copied shared library filename (
libonnxruntime.1.24.2.dylib,libonnxruntime.so.1.24.2) - Any CI / build scripts that fetch the runtime
Goal
Define a single source of truth for the ONNX Runtime version so the Go module, the shared library on disk, the docs, and CI cannot drift apart.
Possible approaches
- A
Makefile/ build-script variable (e.g.ONNXRUNTIME_VERSION) consumed by install scripts, CI, and a docs-generation step. - A
.tool-versions(or similar) entry, with docs referencing the variable rather than a literal version. - A small helper script that downloads the correct runtime based on the pinned
onnxruntime_goversion.
Acceptance criteria
- Bumping the ONNX Runtime version requires editing exactly one place.
- Docs, install scripts, and CI all derive the version from that single source.
- A check (CI or pre-commit) fails if the versions diverge.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with go.mod and docs/02-development-guide.md, then trace the CI and build scripts that download or copy ONNX Runtime. Identify every current 1.24.2 reference and how the pinned onnxruntime_go version determines the runtime. Done means one version is edited once, all consumers derive from it, and a CI or pre-commit check catches divergence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- build-system, ci-cd, documentation
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100