Repository navigation
Conversation
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
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
runai-model-streamer-azure0.16.1Compiles
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
third_party/azure.BUILDpatched to add riscv64 - same gap the S3/GCS backends had.setup.pyshipsLICENSE.*glob - upstream's wheel carries no third-party licence text.Testing
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.@azureselect has no riscv64 branch; riscv64-only.0004-azure-ship-the-licences-of-the-statically-linked-dependencies.patch- To upstream.license_filesglob excludes stagedLICENSE.*; reproduces off riscv64 too.CI running on riscv64.