LocalAI/.github/workflows
LocalAI [bot] a8d7d37a3c
fix: unbreak master CI (docs, kokoros, vibevoice-cpp ABI) (#9682)
* fix(docs): correct broken Hugo relrefs

The Hugo build has been failing on master since the relevant pages
landed:

- text-generation.md:720 referenced `/docs/features/distributed-mode`,
  but Hugo `relref` paths are relative to the content root, not the
  rendered URL. Drop the `/docs/` prefix so the lookup matches the
  existing `features/...` form used elsewhere in the file.
- audio-transform.md:144 referenced `tts.md`; the actual page is
  `text-to-audio.md`.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(kokoros): stub Diarize and AudioTransform Backend trait methods

The recent backend.proto additions (Diarize, AudioTransform,
AudioTransformStream) extended the gRPC Backend trait, breaking
kokoros-grpc compilation with E0046 because the Rust implementation
hadn't picked up the new methods. Add Unimplemented stubs matching the
existing pattern for non-applicable RPCs in this TTS-only backend.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(vibevoice-cpp): track upstream ABI + wire 1.5B voice cloning

Two recent commits in mudler/vibevoice.cpp reshaped the vv_capi_tts
signature without a corresponding bump on the LocalAI side:

  3bd759c "1.5b: unify into a single tts entry point" inserted a
          ref_audio_path parameter between voice_path and dst_wav_path.
  ad856bd "1.5b: multi-speaker dialog support" promoted that to a
          (const char* const* ref_audio_paths, int n_ref_audio_paths)
          pair for per-speaker conditioning.

Because purego resolves symbols by name and not by signature, the
build kept linking; at runtime the misaligned arguments turned the
TTS->ASR closed-loop test into a SIGSEGV inside cgo. Track HEAD
explicitly and bring the bridge in line with it:

  * Update the CppTTS purego binding to the 9-arg form. purego
    marshals []*byte as a **char by handing the C side the underlying
    array address; nil/empty maps to NULL, which matches the C
    contract for "no reference audio" on the realtime-0.5B path.
  * Add a `ref_audio` gallery option (comma-separated, repeatable)
    that the 1.5B path consumes for runtime voice cloning. Multiple
    entries are interpreted as one WAV per speaker (Speaker 0..n-1).
  * TTSRequest.Voice now routes by extension/shape: `.wav` or a
    comma-separated list goes to ref_audio_paths; anything else stays
    on voice_path (realtime-0.5B's pre-baked voice gguf).
  * Pin VIBEVOICE_CPP_VERSION to ad856bd and wire the Makefile into
    the existing bump_deps matrix so future upstream rolls land as
    reviewable PRs instead of a silent CI break.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactor(vibevoice-cpp): use ModelOptions.AudioPath for 1.5B ref audio

Use the existing audio_path field from ModelOptions (already plumbed
through config_file's `audio_path:` YAML and consumed by other audio
backends like kokoros) instead of inventing a custom `ref_audio:`
Options[] string. Multi-speaker setups stay on a single comma-
separated value.

No behavior change beyond the gallery key name; per-call routing via
TTSRequest.Voice is unchanged.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-05-06 10:36:59 +02:00
..
disabled chore(ci): disable CI actions 2026-03-02 14:48:00 +01:00
backend.yml feat: add LocalVQE backend and audio transformations UI (#9640) 2026-05-04 22:07:11 +02:00
backend_build.yml fix(ci): switch apt mirror per runner — azure on github-hosted, kernel.org on self-hosted 2026-05-03 22:59:26 +00:00
backend_build_darwin.yml ci(darwin): add native caches to backend_build_darwin 2026-04-27 20:17:36 +00:00
backend_pr.yml fix(ci): fix AMDGPU_TARGETS empty-string bypass in hipblas builds (#9626) 2026-05-02 15:53:14 +02:00
build-test.yaml feat(ci): allow routing apt traffic through an alternate Ubuntu mirror (#9650) 2026-05-03 23:50:13 +02:00
bump-inference-defaults.yml chore(deps): bump peter-evans/create-pull-request from 7 to 8 (#9114) 2026-03-24 08:50:50 +01:00
bump_deps.yaml fix: unbreak master CI (docs, kokoros, vibevoice-cpp ABI) (#9682) 2026-05-06 10:36:59 +02:00
bump_docs.yaml fix(api)!: Stop model prior to deletion (#8422) 2026-02-06 09:22:10 +01:00
checksum_checker.yaml feat(ci): allow routing apt traffic through an alternate Ubuntu mirror (#9650) 2026-05-03 23:50:13 +02:00
deploy-explorer.yaml fix(api)!: Stop model prior to deletion (#8422) 2026-02-06 09:22:10 +01:00
gallery-agent.yaml Change cron schedule to run every 12 hours 2026-04-25 18:38:28 +02:00
generate_intel_image.yaml [intel GPU support] Use latest oneapi-basekit image for Intel images to support b70 (#9543) 2026-04-24 18:29:10 +02:00
gh-pages.yml chore(deps): bump actions/upload-pages-artifact from 4 to 5 (#9337) 2026-04-13 21:53:47 +02:00
image-pr.yml ci: switch image/backend build cache to a dedicated registry image 2026-04-27 13:13:04 +00:00
image.yml ci: switch image/backend build cache to a dedicated registry image 2026-04-27 13:13:04 +00:00
image_build.yml fix(ci): switch apt mirror per runner — azure on github-hosted, kernel.org on self-hosted 2026-05-03 22:59:26 +00:00
lint.yml chore(deps): bump actions/checkout from 4 to 6 (#9663) 2026-05-05 15:37:05 +02:00
notify-releases.yaml fix(api)!: Stop model prior to deletion (#8422) 2026-02-06 09:22:10 +01:00
release.yaml feat(ci): allow routing apt traffic through an alternate Ubuntu mirror (#9650) 2026-05-03 23:50:13 +02:00
secscan.yaml Revert "chore(deps): bump securego/gosec from 2.22.9 to 2.22.11" (#7789) 2025-12-30 09:58:13 +01:00
stalebot.yml chore(deps): bump actions/stale from 10.1.1 to 10.2.0 (#8633) 2026-02-23 23:27:20 +01:00
test-extra.yml feat: add LocalVQE backend and audio transformations UI (#9640) 2026-05-04 22:07:11 +02:00
test.yml refactor(tests): split app_test.go, move real-backend coverage to e2e-backends 2026-04-27 23:09:20 +00:00
tests-aio.yml refactor(tests): split app_test.go, move real-backend coverage to e2e-backends 2026-04-27 23:09:20 +00:00
tests-e2e.yml feat(ci): allow routing apt traffic through an alternate Ubuntu mirror (#9650) 2026-05-03 23:50:13 +02:00
tests-ui-e2e.yml feat(ci): allow routing apt traffic through an alternate Ubuntu mirror (#9650) 2026-05-03 23:50:13 +02:00
update_swagger.yaml feat(ci): allow routing apt traffic through an alternate Ubuntu mirror (#9650) 2026-05-03 23:50:13 +02:00
yaml-check.yml chore(backend gallery): add description for remaining backends (#5679) 2025-06-17 22:21:44 +02:00