Skip to content

ci: release 1.31.0 - #126

Merged
kibae merged 7 commits into
mainfrom
release/1.31.0
Oct 9, 2026
Merged

kibae merged 7 commits into
mainfrom
release/1.31.0

Conversation

@kibae

@kibae kibae commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Aligns the server, CI downloads, and Docker images with ONNX Runtime v1.31.0. UINT2 model outputs now decode from packed storage and return the correct values.

Changes

  • Packed UINT2 decoding: unpack four values per byte, cover a partial final byte, and assert [3, 0, 2, 1, 3] through the existing model fixture after upstream's type-conversion fix (#33066).
  • Pinned runtime downloads: ORT_VERSION records the upstream version independently of the server version; CI/Docker select exact release assets and verify supplied SHA256 digests. macOS fails when the pinned runtime cannot be downloaded instead of falling back to an unrelated Homebrew version. Metadata parsing uses Python 3, included in the Docker builder images.
  • Local Docker validation: build.sh --local builds and tests uncommitted changes without uploading; --dry-run prints the exact tags and commands. No-argument invocation builds, tests and pushes the established version tags. All selected amd64 tests complete before upload; CPU publication remains amd64+arm64. The release skill uses the existing source checkout and requires diagnosing and validating fixes locally before committing and waiting for CI.
  • Version alignment: update the established seven version files and the runtime version test to 1.31.0.

Upstream review (1.30.0 → 1.31.0)

  • Read the interval release notes and collected header/signature deltas. ONNXTensorElementDataType, GraphOptimizationLevel, and ExecutionMode retain their members and numeric values. The new onnxruntime_type_conversion.h implements upstream's C API/wire-number conversion; the server already uses named C API enum constants and does not serialize ONNX type numbers.
  • The new SessionOptions methods SetEpContextDataReadFunc and ClearEpContextDataReadFunc take native callbacks/state. They are deliberately not exposed as JSON options: this server has no application-managed EPContext storage interface. Stable model-package, compilation-buffer, and plugin-EP APIs likewise remain outside its existing model/session API.
  • New session config keys (parallel prepacking, workspace verification, function expansion limits, MoE counters, CPU/CUDA tuning, and external initializer buffers) are already reachable through config_entries. The generic example remains a passthrough example. CUDA provider options retain verbatim forwarding; CUDA session config keys belong under session_options.config_entries.
  • ONNX remains 1.22.0 after the upstream 1.23 rollback; no FLOAT6 or fixture opset change. Existing float8/int2/complex assumptions were checked by the actual datatype and complex-allocation tests; only UINT2 needed an adaptation. Preserve historical comments where their assumptions still hold.
  • Exact Linux amd64/arm64, Windows x64, and macOS arm64 release assets exist. The Linux amd64 CUDA12 archive was checksum-validated in a fresh local directory. The existing arm64 NuGet fallback remains version-pinned and dormant.

CUDA alignment and compatibility

Retain Ubuntu 24.04 with nvidia/cuda:12.8.1-cudnn-{devel,runtime}-ubuntu24.04 (cuDNN 9.8.0.87) and 13.0.3-cudnn-{devel,runtime}-ubuntu24.04 (cuDNN 9.14.0.64). These are the highest published matching CUDA-minor patches and preserve the full NVIDIA_REQUIRE_* expressions of the published 1.30.0 images.

Sources: the immutable v1.31.0 packaging stage, build command, versioned cuda12/cuda13 build images, pipeline variables, and build-image transition. Exact builder/runtime metadata and prior image constraints were compared. Container admission conditions, CUDA minor compatibility, and measurements on this WSL/RTX 5080 host are separate evidence; this release introduces no driver-support-floor change. See NVIDIA constraints and minor compatibility limitations.

Validation and publication

  • Release-tool regression tests: 28 passed (tag selection, dry-run/local-only behavior, failure handling, downloads and CI checks).
  • Local Debug build against the explicit 1.31.0 GPU archive: all 9 CTest executables passed, including CUDA, datatype decoding, TCP, HTTP, HTTPS, Swagger, and runtime version.
  • Real CPU/CUDA12/CUDA13 amd64 image builds, runtime-version checks, session creation and inference; both GPU sessions reported device ID 0.
  • Published all three normal version image tags and verified remote digests/platforms. The tested working-tree changes are now committed as 2591c01.
  • Linux/Windows/macOS/CodeQL CI for 2591c01.
  • Merge, git tag and GitHub release.
  • Manual Docker Hub description update.

CPU arm64 was built and published but not execution-tested. GPU measurements apply to the WSL/RTX 5080 host used for this release; they do not establish a universal minimum driver.

Image tag Digest
kibaes/onnxruntime-server:1.31.0-linux-cpu sha256:f8047423536dca723b22419516d549aa31d09662e569e196412ef5a6166e9c71
kibaes/onnxruntime-server:1.31.0-linux-cuda12 sha256:ea452646db90c6e3bdbc018d6ab7bab0196e4231ac9cd3d1299c945b5ea8a6f7
kibaes/onnxruntime-server:1.31.0-linux-cuda13 sha256:9de1ef6b31cc991da739f49920782350ac684062085cd66968e13434cc673c6b

Released as v1.31.0 at merge commit 61e6c32c6ef77239aa874d689c79db4f65569518.

@kibae
kibae merged commit 61e6c32 into main Oct 9, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant