Skip to content

fix(backends): repair release CI build/test breaks (kokoros, fish-speech, llama-cpp-quantization, sglang)#10547

Merged
mudler merged 4 commits into
masterfrom
fix/release-ci-breaks
Jun 27, 2026
Merged

fix(backends): repair release CI build/test breaks (kokoros, fish-speech, llama-cpp-quantization, sglang)#10547
mudler merged 4 commits into
masterfrom
fix/release-ci-breaks

Conversation

@localai-bot

Copy link
Copy Markdown
Collaborator

What

Fixes the four genuine build/test breaks observed in the v4.5.4 release CI (in the still-running build backend container images and Tests extras backends workflows). One commit per backend.

Backend Symptom in CI Fix
kokoros (Rust) error[E0046]: not all trait items implemented, missing: sound_detection, depth, token_classify, score, ForwardStream, forward backend.proto grew 6 RPCs the TTS service never implemented. Added unimplemented stubs + the ForwardStream associated type, matching the existing pattern for every other unsupported RPC in the file.
fish-speech (Python) ModuleNotFoundError: No module named 'setuptools_rust' during editable metadata generation install.sh installs the source tree with --no-build-isolation, so a transitive dep's Rust build backend must already be in the venv. Added setuptools-rust to requirements.txt.
llama-cpp-quantization (Python) convert_hf_to_gguf.py failedModuleNotFoundError: No module named 'conversion' Upstream split the model logic into a sibling conversion/ package, so convert_hf_to_gguf.py now does from conversion import .... The single-file download no longer runs. Now clone the repo (reusing the clone already needed for llama-quantize) and copy both the script and the conversion/ package beside each other.
sglang (Python/C++) constexpr variable 'scale' must be initialized by a constant / kineto_LIBRARY-NOTFOUND in mamba/fla.cpp The CPU profile cloned sglang master unpinned. Pinned the source clone to v0.5.11 (the floor the GPU path already uses), overridable via SGLANG_VERSION.

Not addressed (transient infra)

Two other v4.5.4 job failures were Docker Hub / CloudFront timeouts (vibevoice cublas build, pocket-tts merge) — not code issues, just need a re-run.

Verification

  • kokoros: change is driven by the compiler's own "missing items" list and copies the verbatim unary + bidi-stream patterns from sibling RPCs in the same file. A local cargo check wasn't possible (vendored kokoros submodule + no protoc in this env) — the backend image build in CI compiles it.
  • The three install-script / requirements changes get their real validation from the corresponding backend image and Tests extras backends jobs in CI.

Assisted-by: Claude:claude-opus-4-8 [Claude Code]

mudler added 4 commits June 27, 2026 07:33
The backend.proto grew six RPCs (SoundDetection, Depth, TokenClassify,
Score and the bidi-streaming Forward) that the kokoros gRPC service never
implemented, so the trait impl no longer satisfies `Backend`:

    error[E0046]: not all trait items implemented, missing:
      `sound_detection`, `depth`, `token_classify`, `score`,
      `ForwardStream`, `forward`

kokoros is a TTS backend with no use for these, so add `unimplemented`
stubs (plus the `ForwardStream` associated type) matching the existing
pattern for every other unsupported RPC in this file.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude:claude-opus-4-8 [Claude Code]
install.sh installs the fish-speech source tree editable with
`--no-build-isolation`, which means the build backends of its transitive
dependencies must already be present in the venv. One of them builds a
Rust extension and its metadata step fails with:

    ModuleNotFoundError: No module named 'setuptools_rust'

Add setuptools-rust to requirements.txt so installRequirements provisions
it before the editable install runs.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude:claude-opus-4-8 [Claude Code]
…sion/

Upstream llama.cpp split the model-specific logic out of the single
convert_hf_to_gguf.py file into a sibling `conversion/` package, so the
script now starts with `from conversion import ...`. Downloading just the
one file therefore fails at runtime with:

    ModuleNotFoundError: No module named 'conversion'

Clone the repo (reusing the clone already needed to build llama-quantize)
and copy both the script and the `conversion/` package into the backend
dir. Python puts the script's own directory on sys.path[0], so the package
resolves when it sits beside the script.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude:claude-opus-4-8 [Claude Code]
The CPU profile builds sgl-kernel from a `git clone` of sglang with no
ref, so it always tracks master. Recent master added CPU kernels (e.g.
mamba/fla.cpp) that fail to compile in our builder:

    constexpr variable 'scale' must be initialized by a constant
    static library kineto_LIBRARY-NOTFOUND not found

Pin the clone to v0.5.11, the same release the GPU path already floors on
(requirements-cublas12-after.txt). Overridable via SGLANG_VERSION so the
pin can be bumped deliberately.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude:claude-opus-4-8 [Claude Code]
@mudler
mudler merged commit 0258f8a into master Jun 27, 2026
66 of 68 checks passed
@mudler
mudler deleted the fix/release-ci-breaks branch June 27, 2026 07:42
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.

2 participants