ci: run Lemonade-dependent checks when LEMONADE_VERSION changes#1871
ci: run Lemonade-dependent checks when LEMONADE_VERSION changes#1871kovtcharov wants to merge 3 commits into
Conversation
A Lemonade version bump edits only src/gaia/version.py (LEMONADE_VERSION), but every Lemonade-dependent workflow was path-filtered to feature code (rag/llm/agents/cpp/...) and excluded that file — so the bump that installs a new Lemonade on the runners triggered NONE of the tests that exercise it. That is how Lemonade 10.7.0/10.8.x landed while the embedding model (nomic-embed-text-v2-moe) is broken on the bundled llama-server (>= b6524, upstream llama.cpp #16301 / lemonade #612): the embeddings/RAG/API/E2E checks never ran on the bump. Add src/gaia/version.py and the install-lemonade action to the path triggers of every Lemonade-using workflow so a version bump runs the full Lemonade test surface and a regression is caught on the bump PR, not days later on an unrelated branch.
|
Verdict: Approve ✅ This closes a real CI gap: a Lemonade version bump only edits Coverage is complete and correct: the 11 workflows changed are precisely the 11 that reference 🔍 Technical detailsVerification performed:
🟢 Minor — redundant Strengths
|
… crash on failure The nomic-embed-text-v2-moe load intermittently aborts llama-server on the AMD Vulkan backend (transient GPU-driver-state fault; upstream llama.cpp #16301 / lemonade #612, not a GAIA defect). Retry recovers once GPU state settles, keeping CI green; debug logging + a job-output dump on each failed attempt records the exact crash signature the next time it occurs.
…er debug crash on failure" This reverts commit daa0e46.
Why this matters
A Lemonade version bump edits only
src/gaia/version.py(LEMONADE_VERSION), which theinstall-lemonadeaction reads to provision the runners. But every Lemonade-dependent workflow was path-filtered to feature code (src/gaia/rag/**,llm/**, agents,cpp/**, …) and excludedversion.py— so the one change that swaps the Lemonade build on the runners triggered none of the tests that exercise it.That's the gap that let Lemonade 10.7.0 → 10.8.1 land while the embedding model
nomic-embed-text-v2-moeis broken on the bundledllama-server: the embeddings/RAG/API/E2E checks simply never ran on the bump. The break only surfaced days later on unrelated PRs (including a.docxRAG PR) whose authors had no idea it wasn't their change.Root cause of the embedding break is upstream, not ours — a Vulkan-backend regression on AMD GPUs since llama.cpp build b6524 (llama.cpp #16301, open), surfaced in Lemonade #612 / #941. This PR doesn't fix that; it makes our CI catch that class of regression on the bump PR instead of silently shipping it.
This adds
src/gaia/version.pyand.github/actions/install-lemonade/**to thepush+pull_requestpath triggers of every Lemonade-using workflow (embeddings, rag, lemonade-server, api, agent-sdk, agent-mcp-server, behavior-e2e, examples, gaia-cli-windows, sd, build_cpp).Test plan
paths:block (21 total) now containssrc/gaia/version.py(verified programmatically)LEMONADE_VERSIONbump PR should now trigger Test Lemonade Embeddings, Test RAG, API Tests, Agent SDK/MCP/Behavior, Lemonade Server Smoke, SD, and C++ build — confirm in that PR's checks list