Skip to content

runai-model-streamer-azure: Add version 0.16.1 - #2987

Draft
luhenry wants to merge 3 commits into
mainfrom
runai-model-streamer-azure
Draft

luhenry wants to merge 3 commits into
mainfrom
runai-model-streamer-azure

Conversation

@luhenry

@luhenry luhenry commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Compiles libstreamerazure.so, Run:ai Model Streamer's Azure Blob Storage backend, statically linking the Azure SDK for C++, OpenSSL, curl, zlib and libxml2. Upstream publishes no riscv64 wheel.

Mirrors upstream's own Makefile/.devcontainer/Dockerfile, same shape as the already-published S3/GCS backends.

Differs from upstream

  • Toolchain and third_party/azure.BUILD patched to add riscv64 - same gap the S3/GCS backends had.
  • setup.py ships LICENSE.* glob - upstream's wheel carries no third-party licence text.

Testing

  • same as upstream (tests against Azurite); a second AZURITE_TESTING build is used only for that test run, since the published build has no way to target a local endpoint.

License: Wheel bundles the Azure SDK for C++ and libxml2 (MIT), OpenSSL (Apache-2.0), curl and zlib (their own licences); upstream ships no licence text for them, so the build adds it.

Patches

  • 0001-toolchain-add-riscv64-as-a-supported-architecture.patch - To upstream. Toolchain has no riscv64 entry; reproduces off riscv64.
  • 0002-toolchain-use-gcc-s-own-dumpmachine-triplet-for-builtin-include-dirs.patch - To upstream. Bazel sandboxing rejects gcc's real header path; riscv64-only.
  • 0003-third_party-add-riscv64-to-the-Azure-SDK-library-select.patch - To upstream. @azure select has no riscv64 branch; riscv64-only.
  • 0004-azure-ship-the-licences-of-the-statically-linked-dependencies.patch - To upstream. license_files glob excludes staged LICENSE.*; reproduces off riscv64 too.

CI running on riscv64.

Azure Blob Storage backend for Run:ai Model Streamer. Same shape as the
already-ported S3/GCS backends: a C++ core (libstreamerazure.so, built
via bazel against a statically-linked Azure SDK for C++ + OpenSSL +
curl + zlib + libxml2) wrapped by a thin Python package. No native
Azure account is needed to build or test it: upstream tests this
backend against Azurite (the local Azure Storage emulator), and this
port does the same, using the well-known Azurite test account key
upstream itself documents.

The published .so is built the same way as upstream's own release
recipe (`make build`); a second, AZURITE_TESTING-enabled .so is built
alongside it (upstream's own `make -C cpp build_azure_test`) purely to
run the Azurite-backed test, since the production build has no way to
point the Azure SDK at a local http endpoint.
luhenry added a commit that referenced this pull request Oct 13, 2026
…yplus -> parked

runai-model-streamer-azure 0.16.1: Azure Blob Storage backend for Run:ai
Model Streamer, same C++-core shape as the already-published S3/GCS
backends. No live Azure account needed to build or test (upstream
tests against the Azurite emulator).

gdsfactoryplus 1.8.20: not feasible. PyPI license is the literal
string "PROPRIETARY AND CONFIDENTIAL", zero sdist across all 141
releases, and the wheel is a single compiled .so (the real DRC/LVS/PDK
engine, not a thin API client) with no license file at all.
@luhenry
luhenry marked this pull request as draft October 13, 2026 09:26
…etch

Upstream configures the Azure SDK for C++ with a cross CMAKE_TOOLCHAIN_FILE,
which skips its az_vcpkg_integrate() auto-fetch. The native riscv64 build
passes no toolchain file, so the SDK cloned vcpkg and tried to bootstrap
it, which fails on riscv64 and aborts the azure-core configure. Set
AZURE_SDK_DISABLE_AUTO_VCPKG so CMake uses the OpenSSL, curl and libxml2
built earlier in the same step, as upstream does.
…minutes

With the bazel-7.6.1 cache cold, the bootstrap job was killed by its
120-minute timeout at action 3,399 of 3,931 of compile.sh, still making
progress, so the build job was skipped. The previous cold bootstrap of
the same version took 98 minutes on a less loaded runner. Use the
720-minute limit the other bazel bootstrap jobs in this repo use.

This branch has not been deployed

No deployments
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