From 8aba4fdba3f6335e8571b42bf2988f66af492b0a Mon Sep 17 00:00:00 2001 From: "LocalAI [bot]" <139863280+localai-bot@users.noreply.github.com> Date: Sat, 27 Jun 2026 23:24:21 +0200 Subject: [PATCH] chore(fish-speech): drop the darwin/metal build target (#10561) The fish-speech metal-darwin-arm64 backend build has been failing on every release (v4.5.3, v4.5.4, v4.5.5) and is a standing red on the darwin backend matrix. fish-speech pulls `tokenizers` transitively from its upstream source (`pip install -e fish-speech-src`), and on darwin/arm64 there is no prebuilt wheel for the pinned old `tokenizers` version, so pip builds it from source. Modern rustc rejects that old crate as a hard error: error: casting `&T` to `&mut T` is undefined behavior ... --> tokenizers-lib/src/models/bpe/trainer.rs:517:47 = note: `#[deny(invalid_reference_casting)]` on by default error: could not compile `tokenizers` (lib) due to 1 previous error This is deterministic, not a flake, and there is no clean fix that does not either pin a stale Rust toolchain or downgrade a soundness lint guarding real UB. Until upstream fish-speech moves to a tokenizers version that compiles on current toolchains, drop darwin support so the release backend build stays green. The Linux/CUDA/ROCm/Intel/L4T variants are unaffected. Removes: - the `-metal-darwin-arm64-fish-speech` entry from `includeDarwin` in backend-matrix.yml - the `metal:` capability mappings and the concrete `metal-fish-speech` / `metal-fish-speech-development` gallery entries in backend/index.yaml - the now-unused darwin-only requirements-mps.txt Assisted-by: Claude:claude-opus-4-8 [Claude Code] Signed-off-by: Ettore Di Giacinto Co-authored-by: Ettore Di Giacinto --- .github/backend-matrix.yml | 3 --- backend/index.yaml | 12 ------------ backend/python/fish-speech/requirements-mps.txt | 2 -- 3 files changed, 17 deletions(-) delete mode 100644 backend/python/fish-speech/requirements-mps.txt diff --git a/.github/backend-matrix.yml b/.github/backend-matrix.yml index 6147f1250..1d6496231 100644 --- a/.github/backend-matrix.yml +++ b/.github/backend-matrix.yml @@ -4991,9 +4991,6 @@ includeDarwin: - backend: "qwen-tts" tag-suffix: "-metal-darwin-arm64-qwen-tts" build-type: "mps" - - backend: "fish-speech" - tag-suffix: "-metal-darwin-arm64-fish-speech" - build-type: "mps" - backend: "voxcpm" tag-suffix: "-metal-darwin-arm64-voxcpm" build-type: "mps" diff --git a/backend/index.yaml b/backend/index.yaml index 2841d0f79..8c0f1bc8d 100644 --- a/backend/index.yaml +++ b/backend/index.yaml @@ -1356,7 +1356,6 @@ intel: "intel-fish-speech" amd: "rocm-fish-speech" nvidia-l4t: "nvidia-l4t-fish-speech" - metal: "metal-fish-speech" default: "cpu-fish-speech" nvidia-cuda-13: "cuda13-fish-speech" nvidia-cuda-12: "cuda12-fish-speech" @@ -4870,7 +4869,6 @@ intel: "intel-fish-speech-development" amd: "rocm-fish-speech-development" nvidia-l4t: "nvidia-l4t-fish-speech-development" - metal: "metal-fish-speech-development" default: "cpu-fish-speech-development" nvidia-cuda-13: "cuda13-fish-speech-development" nvidia-cuda-12: "cuda12-fish-speech-development" @@ -4946,16 +4944,6 @@ uri: "quay.io/go-skynet/local-ai-backends:master-nvidia-l4t-cuda-13-arm64-fish-speech" mirrors: - localai/localai-backends:master-nvidia-l4t-cuda-13-arm64-fish-speech -- !!merge <<: *fish-speech - name: "metal-fish-speech" - uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-fish-speech" - mirrors: - - localai/localai-backends:latest-metal-darwin-arm64-fish-speech -- !!merge <<: *fish-speech - name: "metal-fish-speech-development" - uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-fish-speech" - mirrors: - - localai/localai-backends:master-metal-darwin-arm64-fish-speech ## faster-qwen3-tts - !!merge <<: *faster-qwen3-tts name: "faster-qwen3-tts-development" diff --git a/backend/python/fish-speech/requirements-mps.txt b/backend/python/fish-speech/requirements-mps.txt deleted file mode 100644 index ff5c00f19..000000000 --- a/backend/python/fish-speech/requirements-mps.txt +++ /dev/null @@ -1,2 +0,0 @@ -torch -torchaudio