ci(examples): cover openai_websocket_client and openresponses_client#39
Merged
Conversation
Two example scripts shipped in `examples/` were not exercised by the Examples CI job: - `examples/openai_websocket_client.py` covers the WebSocket mode for the OpenAI Responses API (PR #26). - `examples/openresponses_client.py` covers the OpenResponses API (`/openresponses/v1/responses`). Both run against the same release server already spun up in the Examples job. Smoke-tested locally against the running server before adding to CI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Add the two remaining
examples/scripts that theExamplesCI job was not running:examples/openai_websocket_client.py— exercises the WebSocket mode for the OpenAI Responses API (added in feat(api): add WebSocket mode for Responses API #26).examples/openresponses_client.py— exercises the OpenResponses API at/openresponses/v1/responses.Why
Routine maintenance spec R3.2/R4.2 expects integration coverage of every API surface. The Rust examples and most Python clients are run in CI today, but these two surfaces were only covered by hand-runs — any API drift in WebSocket or OpenResponses would surface as a user-reported breakage rather than a red build.
How
Both new steps reuse the release server already started by the existing job (
./target/release/llmsim serve --port 8080). Each example is a self-containeduv runscript that exits cleanly on success.I smoke-tested both scripts locally against the running server before adding them:
openresponses_client.pywalks text input, message input, streaming, and 3 different models.openai_websocket_client.pyexercises text input, message-array input, and multi-turnprevious_response_id.Risk
Checklist
Start server)