Skip to content

QVAC-19266 infra: migrate tts-ggml desktop CI to registry-based model download#2290

Merged
freddy311082 merged 8 commits into
mainfrom
QVAC-19266/tts-ggml-desktop-registry-models-ci
Jun 2, 2026
Merged

QVAC-19266 infra: migrate tts-ggml desktop CI to registry-based model download#2290
freddy311082 merged 8 commits into
mainfrom
QVAC-19266/tts-ggml-desktop-registry-models-ci

Conversation

@freddy311082

Copy link
Copy Markdown
Contributor

🎯 What problem does this PR solve?

  • Desktop integration CI for tts-ggml was installing Python + a heavy venv (Torch, librosa, numba, llvmlite) and converting HF weights to GGUF on every run via scripts/convert-models.sh. Slow (~10–30 min cold), fragile (numba wheels on macOS x64 / Python 3.12), and redundant: the same GGUFs are already published in the QVAC model registry.
  • Mobile CI already downloads the GGUFs at runtime from the registry (PR feat(tts-ggml): Android dynamic ggml backends #2168), so desktop was the odd one out.
  • Integration tests treated a missing GGUF as t.pass('Skipped: ...'), so a failed registry fetch or a misconfigured runner went green instead of failing the suite.

📝 How does it solve it?

  • New CLI packages/tts-ggml/scripts/download-tts-ggml-models.js using @qvac/registry-client to pull the six GGUFs (chatterbox-t3-turbo, chatterbox-s3gen, chatterbox-t3-mtl, chatterbox-s3gen-mtl, supertonic, supertonic2) from S3 and rebadge the q4_0 filenames on-disk to the historical names the resolver expects.
  • New npm script download-models:registry exposes the CLI.
  • .github/workflows/integration-test-tts-ggml.yml: removed the Setup Python, Cache TTS GGML venv + GGUFs, and npm run setup-models steps. Replaced with the shared ./.github/actions/cache-models composite (gated to qvac-* runners, matching parakeet) + a Download GGUF models from registry step that runs npm run download-models:registry on cache miss.
  • Converted 25 t.pass('Skipped: ... GGUF(s) not available') sites across six integration test files to t.fail(...) so a missing model is now a hard failure with a remediation hint (Run \npm run download-models:registry` or stage models locally.). t.pass('Skipped: reference audio missing')` is left in place — that asset lives in the repo, not the registry.
  • Mobile workflow (integration-mobile-test-tts-ggml.yml) intentionally untouched: it already downloads at runtime.
  • The Python conversion scripts (setup-venv.sh, convert-models.sh, scripts/convert-*-to-gguf.py) and their npm entries are kept for local-dev regeneration; they are simply no longer wired into CI.

🧪 How was it tested?

  • npx standard clean on the new CLI and all six edited test files.
  • YAML of the rewritten workflow parses OK.
  • ReadLints clean on every edited file.
  • CI manual dispatch to be run on the PR branch to validate the new download step end-to-end on every matrix entry.

@freddy311082

Copy link
Copy Markdown
Contributor Author

@github-actions

github-actions Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor

Tier-based Approval Status

**PR Tier:** TIER1

**Current Status:** ✅ APPROVED

**Requirements:**
- 1 Team Member approval ❌ (0/1)
- 1 Team Lead OR Management approval ✅ (2/1)

**Bypass rule:** Triggered (2+ Team Lead approvals (Tier 1 exception)). This PR is approved regardless of tier.

---
*This comment is automatically updated when reviews change.*

@freddy311082 freddy311082 changed the title fix: update parakeet-cpp version to 2026-05-26 in vcpkg configuration QVAC-19266 infra: migrate tts-ggml desktop CI to registry-based model download May 27, 2026
@kinsta

kinsta Bot commented May 27, 2026

Copy link
Copy Markdown

Preview deployments for qvac-docs-staging ⚡️

Status Branch preview Commit preview
✅ Ready Visit preview Visit preview

Commit: d238b20b7fb77a9bcfba73b90aa9dd5e1c770c26

Deployment ID: c0e49fe8-c32a-4c98-ac10-49fa3b1bbf46

Static site name: qvac-docs-staging-fazwv

@freddy311082

Copy link
Copy Markdown
Contributor Author

@freddy311082

Copy link
Copy Markdown
Contributor Author

/review

@freddy311082 freddy311082 merged commit 407c751 into main Jun 2, 2026
17 of 18 checks passed
@freddy311082 freddy311082 deleted the QVAC-19266/tts-ggml-desktop-registry-models-ci branch June 2, 2026 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants