remove Python CLI from all CI jobs, use Rust binary artifact everywhere

This commit is contained in:
Adil Hafeez 2026-03-23 05:13:13 +00:00
parent 6cf0c4ff7b
commit f59794d70f

View file

@ -210,7 +210,7 @@ jobs:
# E2E: prompt_gateway tests # E2E: prompt_gateway tests
# ────────────────────────────────────────────── # ──────────────────────────────────────────────
test-prompt-gateway: test-prompt-gateway:
needs: docker-build needs: [docker-build, plano-cli-tests]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
@ -231,6 +231,15 @@ jobs:
- name: Load plano image - name: Load plano image
run: docker load -i /tmp/plano-image.tar run: docker load -i /tmp/plano-image.tar
- name: Download planoai binary
uses: actions/download-artifact@v6
with:
name: planoai-binary
path: /usr/local/bin/
- name: Make binary executable
run: chmod +x /usr/local/bin/planoai
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
@ -240,9 +249,7 @@ jobs:
uses: astral-sh/setup-uv@v7 uses: astral-sh/setup-uv@v7
with: with:
enable-cache: true enable-cache: true
cache-dependency-glob: | cache-dependency-glob: tests/e2e/uv.lock
tests/e2e/uv.lock
cli/uv.lock
- name: Run prompt_gateway tests - name: Run prompt_gateway tests
env: env:
@ -260,7 +267,7 @@ jobs:
# E2E: model_alias_routing tests # E2E: model_alias_routing tests
# ────────────────────────────────────────────── # ──────────────────────────────────────────────
test-model-alias-routing: test-model-alias-routing:
needs: docker-build needs: [docker-build, plano-cli-tests]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
@ -281,6 +288,15 @@ jobs:
- name: Load plano image - name: Load plano image
run: docker load -i /tmp/plano-image.tar run: docker load -i /tmp/plano-image.tar
- name: Download planoai binary
uses: actions/download-artifact@v6
with:
name: planoai-binary
path: /usr/local/bin/
- name: Make binary executable
run: chmod +x /usr/local/bin/planoai
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
@ -290,9 +306,7 @@ jobs:
uses: astral-sh/setup-uv@v7 uses: astral-sh/setup-uv@v7
with: with:
enable-cache: true enable-cache: true
cache-dependency-glob: | cache-dependency-glob: tests/e2e/uv.lock
tests/e2e/uv.lock
cli/uv.lock
- name: Run model alias routing tests - name: Run model alias routing tests
env: env:
@ -310,7 +324,7 @@ jobs:
# E2E: responses API with state tests # E2E: responses API with state tests
# ────────────────────────────────────────────── # ──────────────────────────────────────────────
test-responses-api-with-state: test-responses-api-with-state:
needs: docker-build needs: [docker-build, plano-cli-tests]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
@ -331,6 +345,15 @@ jobs:
- name: Load plano image - name: Load plano image
run: docker load -i /tmp/plano-image.tar run: docker load -i /tmp/plano-image.tar
- name: Download planoai binary
uses: actions/download-artifact@v6
with:
name: planoai-binary
path: /usr/local/bin/
- name: Make binary executable
run: chmod +x /usr/local/bin/planoai
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
@ -340,9 +363,7 @@ jobs:
uses: astral-sh/setup-uv@v7 uses: astral-sh/setup-uv@v7
with: with:
enable-cache: true enable-cache: true
cache-dependency-glob: | cache-dependency-glob: tests/e2e/uv.lock
tests/e2e/uv.lock
cli/uv.lock
- name: Run responses API with state tests - name: Run responses API with state tests
env: env:
@ -425,17 +446,12 @@ jobs:
# E2E: demo — preference based routing # E2E: demo — preference based routing
# ────────────────────────────────────────────── # ──────────────────────────────────────────────
e2e-demo-preference: e2e-demo-preference:
needs: docker-build needs: [docker-build, plano-cli-tests]
runs-on: ubuntu-latest-m runs-on: ubuntu-latest-m
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v6 uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Download plano image - name: Download plano image
uses: actions/download-artifact@v7 uses: actions/download-artifact@v7
with: with:
@ -445,23 +461,20 @@ jobs:
- name: Load plano image - name: Load plano image
run: docker load -i /tmp/plano-image.tar run: docker load -i /tmp/plano-image.tar
- name: Install uv - name: Download planoai binary
run: curl -LsSf https://astral.sh/uv/install.sh | sh uses: actions/download-artifact@v6
with:
name: planoai-binary
path: /usr/local/bin/
- name: Setup python venv - name: Make binary executable
run: python -m venv venv run: chmod +x /usr/local/bin/planoai
- name: Install hurl - name: Install hurl
run: | run: |
curl --location --remote-name https://github.com/Orange-OpenSource/hurl/releases/download/4.0.0/hurl_4.0.0_amd64.deb curl --location --remote-name https://github.com/Orange-OpenSource/hurl/releases/download/4.0.0/hurl_4.0.0_amd64.deb
sudo dpkg -i hurl_4.0.0_amd64.deb sudo dpkg -i hurl_4.0.0_amd64.deb
- name: Install plano gateway and test dependencies
run: |
source venv/bin/activate
cd cli && echo "installing plano cli" && uv sync && uv tool install .
cd ../demos/shared/test_runner && echo "installing test dependencies" && uv sync
- name: Run demo tests - name: Run demo tests
env: env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
@ -470,24 +483,18 @@ jobs:
ARCH_API_KEY: ${{ secrets.ARCH_API_KEY }} ARCH_API_KEY: ${{ secrets.ARCH_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: | run: |
source venv/bin/activate
cd demos/shared/test_runner && sh run_demo_tests.sh llm_routing/preference_based_routing cd demos/shared/test_runner && sh run_demo_tests.sh llm_routing/preference_based_routing
# ────────────────────────────────────────────── # ──────────────────────────────────────────────
# E2E: demo — currency conversion # E2E: demo — currency conversion
# ────────────────────────────────────────────── # ──────────────────────────────────────────────
e2e-demo-currency: e2e-demo-currency:
needs: docker-build needs: [docker-build, plano-cli-tests]
runs-on: ubuntu-latest-m runs-on: ubuntu-latest-m
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v6 uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Download plano image - name: Download plano image
uses: actions/download-artifact@v7 uses: actions/download-artifact@v7
with: with:
@ -497,28 +504,24 @@ jobs:
- name: Load plano image - name: Load plano image
run: docker load -i /tmp/plano-image.tar run: docker load -i /tmp/plano-image.tar
- name: Install uv - name: Download planoai binary
run: curl -LsSf https://astral.sh/uv/install.sh | sh uses: actions/download-artifact@v6
with:
name: planoai-binary
path: /usr/local/bin/
- name: Setup python venv - name: Make binary executable
run: python -m venv venv run: chmod +x /usr/local/bin/planoai
- name: Install hurl - name: Install hurl
run: | run: |
curl --location --remote-name https://github.com/Orange-OpenSource/hurl/releases/download/4.0.0/hurl_4.0.0_amd64.deb curl --location --remote-name https://github.com/Orange-OpenSource/hurl/releases/download/4.0.0/hurl_4.0.0_amd64.deb
sudo dpkg -i hurl_4.0.0_amd64.deb sudo dpkg -i hurl_4.0.0_amd64.deb
- name: Install plano gateway and test dependencies
run: |
source venv/bin/activate
cd cli && echo "installing plano cli" && uv sync && uv tool install .
cd ../demos/shared/test_runner && echo "installing test dependencies" && uv sync
- name: Run demo tests - name: Run demo tests
env: env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }} GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
run: | run: |
source venv/bin/activate
cd demos/shared/test_runner && sh run_demo_tests.sh advanced/currency_exchange cd demos/shared/test_runner && sh run_demo_tests.sh advanced/currency_exchange