From 20f73be48b266f9f7d724526799dda32614300d7 Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Thu, 29 May 2025 11:29:19 -0700 Subject: [PATCH] separate out currency exchange and preference based routing --- ...emos.yml => e2e_test_currency_convert.yml} | 4 +- .../e2e_test_preference_based_routing.yml | 54 +++++++++++++++++++ demos/shared/test_runner/run_demo_tests.sh | 17 ++++-- 3 files changed, 69 insertions(+), 6 deletions(-) rename .github/workflows/{e2e_test_demos.yml => e2e_test_currency_convert.yml} (91%) create mode 100644 .github/workflows/e2e_test_preference_based_routing.yml diff --git a/.github/workflows/e2e_test_demos.yml b/.github/workflows/e2e_test_currency_convert.yml similarity index 91% rename from .github/workflows/e2e_test_demos.yml rename to .github/workflows/e2e_test_currency_convert.yml index a9f82a39..1b9ea1f8 100644 --- a/.github/workflows/e2e_test_demos.yml +++ b/.github/workflows/e2e_test_currency_convert.yml @@ -1,4 +1,4 @@ -name: e2e demo tests +name: e2e demo tests currency conversion on: push: @@ -51,4 +51,4 @@ jobs: GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }} run: | source venv/bin/activate - cd demos/shared/test_runner && sh run_demo_tests.sh + cd demos/shared/test_runner && sh run_demo_tests.sh samples_python/currency_exchange diff --git a/.github/workflows/e2e_test_preference_based_routing.yml b/.github/workflows/e2e_test_preference_based_routing.yml new file mode 100644 index 00000000..48aaffcc --- /dev/null +++ b/.github/workflows/e2e_test_preference_based_routing.yml @@ -0,0 +1,54 @@ +name: e2e demo preference based routing tests + +on: + push: + branches: + - main + pull_request: + +jobs: + e2e_demo_tests: + runs-on: ubuntu-latest-m + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.12" + + - name: build arch docker image + run: | + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.0 + + - name: install poetry + run: | + export POETRY_VERSION=1.8.5 + curl -sSL https://install.python-poetry.org | python3 - + + - name: setup python venv + run: | + python -m venv venv + + - 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 model server, arch gateway and test dependencies + run: | + source venv/bin/activate + cd model_server/ && echo "installing model server" && poetry install + cd ../arch/tools && echo "installing archgw cli" && poetry install + cd ../../demos/shared/test_runner && echo "installing test dependencies" && poetry install + + - 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 use_cases/preference_based_routing diff --git a/demos/shared/test_runner/run_demo_tests.sh b/demos/shared/test_runner/run_demo_tests.sh index bcf4c608..32703bfa 100644 --- a/demos/shared/test_runner/run_demo_tests.sh +++ b/demos/shared/test_runner/run_demo_tests.sh @@ -1,11 +1,20 @@ #!/bin/bash set -eu -echo "docker images" -docker images +# load demo name from arguments +if [ $# -eq 0 ]; then + echo "No demo names provided. Please provide demo names as arguments." + # print usage + echo "Usage: $0 ..." + exit 1 +fi -# for demo in currency_exchange hr_agent -for demo in samples_python/currency_exchange use_cases/preference_based_routing +# extract demo names from arguments +DEMOS="$@" + +echo "Running tests for demos: $DEMOS" + +for demo in $DEMOS do echo "******************************************" echo "Running tests for $demo ..."