From a08ad0ea70f9276275acb7ed31d43bbaeec0cbcc Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Wed, 11 Sep 2024 20:50:57 -0700 Subject: [PATCH] add load tests to ci/cd --- .circleci/config.yml | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4ac8fbd48..bbdee78a7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -149,6 +149,33 @@ jobs: # Store test results - store_test_results: path: test-results + load_testing: + docker: + - image: cimg/python:3.11 + working_directory: ~/project + + steps: + - checkout + - run: + name: Install Dependencies + command: | + python -m pip install --upgrade pip + python -m pip install -r requirements.txt + pip install "pytest==7.3.1" + pip install "pytest-retry==1.6.3" + pip install "pytest-asyncio==0.21.1" + # Run pytest and generate JUnit XML report + - run: + name: Run tests + command: | + pwd + ls + python -m pytest -vv tests/load_tests -x --junitxml=test-results/junit.xml --durations=5 + no_output_timeout: 120m + + # Store test results + - store_test_results: + path: test-results installing_litellm_on_python: docker: @@ -289,7 +316,7 @@ jobs: command: | pwd ls - python -m pytest -s -vv tests/ -x --junitxml=test-results/junit.xml --durations=5 --ignore=tests/otel_tests --ignore=tests/pass_through_tests --ignore=tests/proxy_admin_ui_tests + python -m pytest -s -vv tests/ -x --junitxml=test-results/junit.xml --durations=5 --ignore=tests/otel_tests --ignore=tests/pass_through_tests --ignore=tests/proxy_admin_ui_tests --ignore=tests/load_tests no_output_timeout: 120m # Store test results @@ -607,10 +634,17 @@ workflows: only: - main - /litellm_.*/ + - load_testing: + filters: + branches: + only: + - main + - /litellm_.*/ - publish_to_pypi: requires: - local_testing - build_and_test + - load_testing - proxy_log_to_otel_tests - proxy_pass_through_endpoint_tests filters: