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