ci(windows): pull Gemma via server API, not the lemonade CLI#1715
Conversation
PR #1712 switched the Windows Agent SDK and CLI jobs to Gemma-4-E4B-it-GGUF but auto-merged at the first commit, landing a raw `lemonade pull Gemma-4-E4B-it-GGUF` that 400s on the 10.7.0 runners with "When registering a new model, the model name must include the `user` namespace". The model IS a built-in of the C++ Lemonade server's catalog (recipe llamacpp), but the standalone `lemonade` CLI consults a separate registry that does not carry it. Route the pull through /api/v1/pull on the already-running server, matching the green test_api.yml pattern, and fail loudly if the request errors.
SummaryClean, correctly-scoped CI fix. It replaces the broken I verified the port and request shape against the rest of Issues Found🟢 Minor — error handling is stricter than the reference job, which is good but worth a glance ( 🟢 Minor — identical block duplicated across two files ( Strengths
VerdictApprove. No blocking issues; the two minor notes are observational, not change requests. Once both Windows integration jobs go green on this branch, this is ready to merge. |
Follow-up to #1712, which auto-merged at its first commit and left
mainwith a rawlemonade pull Gemma-4-E4B-it-GGUFin both Windows integration jobs. On the runners that 400s —When registering a new model, the model name must include the user namespace— so the Agent SDK and GAIA CLI Windows jobs fail at the model-pull step before any test runs.This routes the pull through
POST /api/v1/pullon the already-running server — the same mechanism the greentest_api.ymluses — and fails loudly if the request errors.Root cause
Gemma-4-E4B-it-GGUFis a genuine built-in of the Lemonade server's catalog at v10.7.0 (recipellamacpp). The failure is not the model or the version — on a clean 10.7.0 install the CLI pull even works. The runner's failure log showed two lemonade installs onPATH(...\systemprofile\...andC:\Users\user\...);lemonade pullresolved to one whose catalog doesn't carry Gemma-4, so it fell into the "register a new model" path. Pulling through the running server's API removes the dependency on whicheverlemonadeCLI happens to be first onPATH.Verified on a 10.7.0 box (version parity with CI)
POST /api/v1/pull {model_name: Gemma-4-E4B-it-GGUF}→{"status":"success"}Model loaded: Gemma-4-E4B-it-GGUFtest_agent_sdk.py(GAIA_TEST_MODEL=Gemma-4-E4B-it-GGUF) →Ran 8 tests in 28.761s / OKTest plan
Test Agent SDK on Windows (Lemonade Integration)— model-pull step succeeds via the API and the integration tests runTest GAIA CLI on Windows (Full Integration)— model-pull step succeeds and the tests run