Skip to content

dependencies: add shared lemonade-ready readiness check - #680

Open
lucbruni-amd wants to merge 7 commits into
mainfrom
ci-shared-lemonade-ready-check
Open

dependencies: add shared lemonade-ready readiness check#680
lucbruni-amd wants to merge 7 commits into
mainfrom
ci-shared-lemonade-ready-check

Conversation

@lucbruni-amd

Copy link
Copy Markdown
Collaborator

Adds a require-able readiness gate under a new dependencies/checks/ namespace (registry category: check). @require:lemonade-ready waits for the Lemonade server on /api/v1/health before dependent steps, instead of failing with Could not connect to Lemonade server.

hermes-lemonade-server and openclaw-lemonade-server lemonade-model-load had no readiness gate (every other lemonade playbook does); they now @require:lemonade-ready before loading.

Validated locally: the gate resolves and runs immediately before lemonade-model-load on windows + linux; validate_playbooks passes.

Refs #666, #668 (verify via nightly before closing).

Introduces a require-able readiness gate under a new dependencies/checks/
namespace (registry category: check). @require:lemonade-ready waits for the
Lemonade server on /api/v1/health before dependent steps, instead of failing
with 'Could not connect to Lemonade server'.

hermes and openclaw lemonade-model-load had no readiness gate (every other
lemonade playbook does); they now require it before loading.

Refs #666, #668.
@lucbruni-amd

Copy link
Copy Markdown
Collaborator Author

Seems registry.json entries are needed for @require invocations.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a shared “Lemonade server readiness” gate under playbooks/dependencies/checks/ and wires it into the lemonade-model-load tests for hermes-lemonade-server and openclaw-lemonade-server to reduce CI failures caused by the Lemonade server not being reachable yet.

Changes:

  • Introduces a new require-able dependency entry lemonade-ready (category check) in playbooks/dependencies/registry.json.
  • Adds the shared readiness check implementation in playbooks/dependencies/checks/lemonade-ready.md (Windows + Linux).
  • Updates the two affected playbooks to @require:lemonade-ready immediately before lemonade-model-load.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
playbooks/supplemental/openclaw-lemonade-server/README.md Adds @require:lemonade-ready before the model load test.
playbooks/supplemental/hermes-lemonade-server/README.md Adds @require:lemonade-ready before the model load test.
playbooks/dependencies/registry.json Registers the new lemonade-ready shared dependency/check.
playbooks/dependencies/checks/lemonade-ready.md Implements the Windows/Linux wait loop against /api/v1/health.
Suppressed comments (1)

playbooks/dependencies/checks/lemonade-ready.md:34

  • The Linux readiness loop currently treats any non-empty response body as "ready". Because curl -s does not fail on HTTP 4xx/5xx, an error response with a body could make $health non-empty and incorrectly pass the gate. Add -f so only 2xx responses are accepted.
  health="$(curl -s --max-time 2 http://127.0.0.1:13305/api/v1/health || true)"

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread playbooks/dependencies/checks/lemonade-ready.md Outdated
Comment thread playbooks/supplemental/openclaw-lemonade-server/README.md
Comment thread playbooks/supplemental/hermes-lemonade-server/README.md
lucbruni-amd and others added 2 commits August 7, 2026 14:54
…x registry description

- curl -sf so only a 2xx health response counts as ready (per review)
- move explanatory text to an HTML comment so the check renders nothing on
  the website (no @github-only wrapper needed by adopters)
- broaden registry description (models + AMD developer platforms, not Halo-only)
@lucbruni-amd

Copy link
Copy Markdown
Collaborator Author

A large number of inline tests eventually becomes unmanageable. If there is a way to accomplish reusability without polluting registry.json, we should go for it.

@adamlam2-amd

Copy link
Copy Markdown
Collaborator

@sreeram-11 is this PR good to go? Are we on board with the registry.json edits? Do we plan to move more tests to here?

@adamlam2-amd

Copy link
Copy Markdown
Collaborator

re-ping

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants