Skip to content

Commit d7162b9

Browse files
localai-botmudler
andauthored
ci(darwin): build the ds4 backend for darwin/arm64 (metal) (#10303)
The gallery has metal-ds4 / metal-ds4-development entries, and the build recipe exists (make backends/ds4-darwin, special-cased in backend_build_darwin.yml), but ds4 was never listed in the darwin matrix, so no metal-darwin-arm64-ds4 image was ever published and the entries dangled. - Add ds4 to the darwin matrix (includeDarwin), mirroring the llama-cpp form (the reusable workflow builds it via 'make backends/ds4-darwin'). - Fix inferBackendPathDarwin in scripts/changed-backends.js to map ds4 to backend/cpp/ds4/ (like llama-cpp): ds4 is C++ but the matrix entry carries lang=go, so without this its darwin build would only ever run on a release (FORCE_ALL), never incrementally when backend/cpp/ds4 changes. sherpa-onnx and speaker-recognition are already in the darwin matrix on master and are not changed here. Assisted-by: claude:claude-opus-4-8 [Claude Code] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
1 parent 3351b62 commit d7162b9

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

.github/backend-matrix.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4475,3 +4475,6 @@ includeDarwin:
44754475
- backend: "speaker-recognition"
44764476
tag-suffix: "-metal-darwin-arm64-speaker-recognition"
44774477
build-type: "mps"
4478+
- backend: "ds4"
4479+
tag-suffix: "-metal-darwin-arm64-ds4"
4480+
lang: "go"

scripts/changed-backends.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ function inferBackendPathDarwin(item) {
5656
if (item.backend === "llama-cpp") {
5757
return `backend/cpp/llama-cpp/`;
5858
}
59+
// ds4 is C++ too (built via `make backends/ds4-darwin`); the matrix entry
60+
// carries lang=go for runner/toolchain selection, but the source is C++.
61+
if (item.backend === "ds4") {
62+
return `backend/cpp/ds4/`;
63+
}
5964
if (!item.lang) {
6065
return `backend/python/${item.backend}/`;
6166
}

0 commit comments

Comments
 (0)