Skip to content

runai-model-streamer-gcs: Add version 0.16.1 - #2406

Merged
luhenry merged 1 commit into
mainfrom
runai-model-streamer-gcs
Sep 28, 2026
Merged

luhenry merged 1 commit into
mainfrom
runai-model-streamer-gcs

Conversation

@luhenry

@luhenry luhenry commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Compiles the GCS backend libstreamergcs.so with bazel against google-cloud-cpp 2.37.0. Upstream publishes no riscv64 wheel.

Mirrors upstream's Makefile and the build-runai-model-streamer-s3.yml sibling port.

Differs from upstream

  • bazel 7.6.1 bootstrapped from source - no riscv64 release binary
  • native riscv64 gcc symlinked to the cross-toolchain names cpp/toolchain expects
  • wheel tagged manylinux_2_39_riscv64 instead of manylinux2014

Matrix: one py3-none wheel, tested on 3.12/3.13/3.14.

Testing

  • fake-gcs-server v1.52.2 cross-built for riscv64 - upstream downloads amd64/arm64 binaries
  • numpy pin in requirements.dev overridden - 1.24.4 has no riscv64 wheel

License: Wheel statically links google-cloud-cpp, abseil, gRPC (Apache-2.0), protobuf, re2, crc32c (BSD-3-Clause), BoringSSL (OpenSSL/ISC), libcurl (curl), zlib (Zlib), c-ares and nlohmann/json (MIT); upstream ships no licence text for them, so the build adds it.

Patches

  • 0001/0002 - To upstream. Same toolchain patches as the runai-model-streamer port; riscv64-only.
  • 0003 - To upstream. google-cloud-cpp's crc32c config leaves HAVE_SSE42 empty on non-x86/arm CPUs, so crc32c fails to preprocess; riscv64-only.
  • 0004 - To upstream. Ships the statically linked dependencies' licences; reproduces everywhere.

Built on cp312; 5 unit tests + 12 fake-gcs-server tests passed on each of 3.12/3.13/3.14, 0 skipped.

The GCS backend plugin of run-ai/runai-model-streamer: libstreamergcs.so,
built by bazel against google-cloud-cpp 2.37.0 and everything it pulls in
(abseil, protobuf, gRPC, BoringSSL, libcurl, zlib, c-ares, re2, crc32c,
nlohmann/json), packaged by py/runai_model_streamer_gcs/setup.py.

Reuses the sibling runai-model-streamer-s3 port's bazel bootstrap and its
two toolchain patches, plus a patch giving google-cloud-cpp's crc32c
config a portable default for CPUs other than x86_64/arm64, and one
shipping the licences of the statically linked dependencies. Tests are
the package's own unit tests plus upstream's tests/gcs against
fake-gcs-server, cross-built for riscv64 from the tag upstream pins.
@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-28 13:16 UTC

@luhenry
luhenry marked this pull request as ready for review September 28, 2026 10:27
@luhenry
luhenry merged commit 73aa807 into main Sep 28, 2026
22 of 24 checks passed
@luhenry
luhenry deleted the runai-model-streamer-gcs branch September 28, 2026 12:10
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