mirror of
https://github.com/katanemo/plano.git
synced 2026-05-27 14:17:15 +02:00
remove Python CLI from all CI jobs, use Rust binary artifact everywhere
This commit is contained in:
parent
6cf0c4ff7b
commit
f59794d70f
1 changed files with 49 additions and 46 deletions
95
.github/workflows/ci.yml
vendored
95
.github/workflows/ci.yml
vendored
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue