birdnet-go-dev: read ONNX Runtime version from upstream's Dockerfile (#3186)

The bundled ORT must match the onnxruntime_go binding the merged source
compiles against; upstream moves both together in its own Dockerfile
ARG. Reading it from the merged tree removes the separate pin that
went stale in 20261102.1 (ORT 1.25.1 vs binding requesting API 29).

Co-authored-by: BirdNET-Go Addon Builder <addon-builder@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
authored and GitHub committed 2026-11-03 08:28:15 +01:00
1 parent a0f351d66a
commit ea2967727c
2 files changed
+12 -5

No files matched your search

+1
View File
@@ -1,5 +1,6 @@
## 20261102.2 (02-11-2026)
- The bundled ONNX Runtime version is now read at build time from upstream's own Dockerfile in the merged source, instead of a separate pin here, so it always matches the ONNX Runtime binding upstream compiles against. It resolves to 1.31.1 today, the version already shipped
- Bundled ONNX Runtime bumped from 1.25.1 to 1.31.1, the version upstream pins. Since build 20261102.1 the upstream code (tphakala/birdnet-go#4631) uses an ONNX Runtime binding that requests C API version 29, which 1.25.1 (API 25) does not provide, so every model that initializes ONNX Runtime failed to load: BirdNET 3.0 was missing from the active models, the geomodel range filter fell back to the older metadata filter, and the ONNX bat models and privacy VAD could not load when enabled. BirdNET V2.4 (TFLite) and Perch V2 (OpenVINO) were unaffected
## 20261102.1 (02-11-2026)
+11 -5
View File
@@ -25,8 +25,8 @@
# applied on top and are byte-for-byte identical to the upstream variant.
#
# Build stages 0-1 mirror tphakala/birdnet-go's Docker/Dockerfile; if
# upstream changes its build (Go/Node/onnxruntime versions, task names)
# sync them here.
# upstream changes its build (Go/Node versions, task names) sync them
# here. The ONNX Runtime version is read from upstream's Dockerfile.
##########################################################
# 0 Prepare merged BirdNET-Go source tree (fork + PRs) #
@@ -140,10 +140,16 @@ RUN task frontend-build
FROM --platform=$BUILDPLATFORM buildenv AS build
ARG BUILD_VERSION
ENV BUILD_VERSION=${BUILD_VERSION:-unknown}
ARG ONNXRUNTIME_VERSION=1.31.1
# Download ONNX Runtime for amd64 (x64)
RUN echo "Downloading ONNX Runtime ${ONNXRUNTIME_VERSION} for x64" && \
# Download ONNX Runtime for amd64 (x64). The version is read from upstream's own
# Dockerfile in the merged source tree, so it always matches the onnxruntime_go
# binding this source is compiled against (upstream moves both together).
RUN ONNXRUNTIME_VERSION="$(sed -n 's/^ARG ONNXRUNTIME_VERSION=//p' Dockerfile)" && \
if [ -z "${ONNXRUNTIME_VERSION}" ]; then \
echo "ERROR: ARG ONNXRUNTIME_VERSION not found in upstream Dockerfile" >&2; \
exit 1; \
fi && \
echo "Downloading ONNX Runtime ${ONNXRUNTIME_VERSION} for x64" && \
curl -fsSL "https://github.com/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-linux-x64-${ONNXRUNTIME_VERSION}.tgz" \
-o /tmp/onnxruntime.tgz && \
mkdir -p /tmp/onnxruntime && \