From bec0dfcec5a6193534db73b6c1baaf51faf92710 Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Sun, 15 Feb 2026 10:24:30 -0800 Subject: [PATCH] Fix CI failures: update workflow demo paths and listener defaults MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update ci.yml demo paths: use_cases/preference_based_routing → llm_routing/preference_based_routing, samples_python/currency_exchange → advanced/currency_exchange - Fix SocketAddressValidationError in Envoy config: set default address ("0.0.0.0") and timeout ("30s") on array-style listener dicts so the Envoy template renders valid listener addresses - Also extract prompt_gateway_listener from type: "prompt" listeners in the array format (was only handled for legacy dict format) Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 4 ++-- cli/planoai/utils.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3cca8fb0..437f1473 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -426,7 +426,7 @@ jobs: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} run: | source venv/bin/activate - cd demos/shared/test_runner && sh run_demo_tests.sh use_cases/preference_based_routing + cd demos/shared/test_runner && sh run_demo_tests.sh llm_routing/preference_based_routing # ────────────────────────────────────────────── # E2E: demo — currency conversion @@ -476,4 +476,4 @@ jobs: GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }} run: | source venv/bin/activate - cd demos/shared/test_runner && sh run_demo_tests.sh samples_python/currency_exchange + cd demos/shared/test_runner && sh run_demo_tests.sh advanced/currency_exchange diff --git a/cli/planoai/utils.py b/cli/planoai/utils.py index 2ffe7b58..50e5b2b7 100644 --- a/cli/planoai/utils.py +++ b/cli/planoai/utils.py @@ -147,6 +147,10 @@ def convert_legacy_listeners( model_provider_set = False for listener in listeners: + # Ensure address and timeout defaults for all listeners + listener.setdefault("address", "0.0.0.0") + listener.setdefault("timeout", "30s") + if listener.get("type") == "model": if model_provider_set: raise ValueError( @@ -155,6 +159,8 @@ def convert_legacy_listeners( listener["model_providers"] = model_providers or [] model_provider_set = True llm_gateway_listener = listener + elif listener.get("type") == "prompt": + prompt_gateway_listener = listener if not model_provider_set: listeners.append(llm_gateway_listener)