[Infra] Standardize default Python to 3.12 and remove miniconda setup

Docker-executor jobs:
- Consolidate base images on cimg/python:3.12. Jobs previously on
  3.11 (26 jobs), 3.9 (1 historical: upload-coverage), and an
  incidental 3.13.1 (litellm_assistants_api_testing) now use 3.12.
- installing_litellm_on_python_3_13 keeps cimg/python:3.13.1 as its
  explicit "latest Python supported" install-check matrix job.

Machine-executor jobs:
- Delete the miniconda install step from 10 jobs. uv now manages
  Python directly: uv sync --python 3.12 auto-downloads a
  python-build-standalone interpreter if the ubuntu-2204 base
  image's default python doesn't match.
- Remove 37 "if [ -f conda.sh ]; then conda activate myenv" wrappers
  and 2 unconditional conda activate blocks left behind from the
  conda days.
- proxy_build_from_pip_tests keeps its 3.13 target (it was
  conda create -n myenv python=3.13) via uv sync --python 3.13.

Net: -301 lines.
This commit is contained in:
Yuneng Jiang
2026-04-21 23:19:21 -07:00
parent 344be27e83
commit 0a65d2c535
+68 -369
View File
@@ -119,7 +119,7 @@ commands:
- run:
name: Install Dependencies
command: |
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- setup_litellm_enterprise_pip
- save_cache:
paths:
@@ -208,12 +208,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- setup_litellm_enterprise_pip
- save_cache:
paths:
@@ -293,12 +288,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- setup_litellm_enterprise_pip
- save_cache:
paths:
@@ -357,7 +347,7 @@ jobs:
- local_testing_part2_coverage
langfuse_logging_unit_tests:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -379,12 +369,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- setup_litellm_enterprise_pip
- save_cache:
paths:
@@ -411,7 +396,7 @@ jobs:
path: test-results
auth_ui_unit_tests:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -431,12 +416,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- save_cache:
paths:
- ./.venv
@@ -468,7 +448,7 @@ jobs:
litellm_router_testing: # Runs all tests with the "router" keyword
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -485,12 +465,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- save_cache:
paths:
- /home/circleci/.pyenv
@@ -522,7 +497,7 @@ jobs:
litellm_router_unit_testing: # Runs all tests with the "router" keyword
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -539,12 +514,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- save_cache:
paths:
- /home/circleci/.pyenv
@@ -564,7 +534,7 @@ jobs:
path: test-results
litellm_assistants_api_testing: # Runs all tests with the "assistants" keyword
docker:
- image: cimg/python:3.13.1@sha256:87b243ae80d154db75ce5e58af16c72c5dd4b1e23e5c7264a816e85e0c440c13
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -578,12 +548,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- setup_litellm_enterprise_pip
- run:
@@ -598,7 +563,7 @@ jobs:
path: test-results
llm_translation_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -615,12 +580,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- save_cache:
paths:
- /home/circleci/.pyenv
@@ -650,7 +610,7 @@ jobs:
path: test-results
realtime_translation_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -663,12 +623,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run realtime tests
@@ -695,7 +650,7 @@ jobs:
- realtime_translation_coverage
mcp_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -708,12 +663,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -738,7 +688,7 @@ jobs:
- mcp_coverage
agent_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -751,12 +701,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -781,7 +726,7 @@ jobs:
- agent_coverage
guardrails_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -794,12 +739,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -825,7 +765,7 @@ jobs:
google_generate_content_endpoint_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -838,12 +778,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -869,7 +804,7 @@ jobs:
llm_responses_api_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -886,12 +821,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- save_cache:
paths:
- /home/circleci/.pyenv
@@ -911,7 +841,7 @@ jobs:
path: test-results
ocr_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -924,12 +854,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -954,7 +879,7 @@ jobs:
- ocr_coverage
search_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -967,12 +892,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -998,7 +918,7 @@ jobs:
# Split litellm_mapped_tests into parallel jobs
litellm_mapped_tests_proxy_part1:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1017,7 +937,7 @@ jobs:
path: test-results
litellm_mapped_tests_proxy_part2:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1036,7 +956,7 @@ jobs:
path: test-results
litellm_mapped_enterprise_tests:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1050,12 +970,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- setup_litellm_enterprise_pip
- run:
name: Run enterprise tests
@@ -1070,7 +985,7 @@ jobs:
path: test-results
batches_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1083,12 +998,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -1113,7 +1023,7 @@ jobs:
- batches_coverage
litellm_utils_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1126,12 +1036,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -1157,7 +1062,7 @@ jobs:
pass_through_unit_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1170,12 +1075,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -1200,7 +1100,7 @@ jobs:
- pass_through_unit_tests_coverage
image_gen_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1214,12 +1114,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -1233,7 +1128,7 @@ jobs:
path: test-results
logging_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1246,12 +1141,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- setup_litellm_enterprise_pip
- run:
@@ -1277,7 +1167,7 @@ jobs:
- logging_coverage
audio_testing:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1290,12 +1180,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -1320,7 +1205,7 @@ jobs:
- audio_coverage
redis_caching_unit_tests:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1336,7 +1221,7 @@ jobs:
- run:
name: Install Dependencies
command: |
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- save_cache:
paths:
- ./.venv
@@ -1370,7 +1255,7 @@ jobs:
- redis_caching_coverage
installing_litellm_on_python:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1383,12 +1268,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- setup_litellm_enterprise_pip
- run:
name: Run tests
@@ -1399,7 +1279,7 @@ jobs:
installing_litellm_on_python_v2_migration_resolver:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1419,12 +1299,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- setup_litellm_enterprise_pip
- wait_for_service:
url: tcp://localhost:5432
@@ -1451,12 +1326,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.13
- run:
name: Run tests
command: |
@@ -1545,7 +1415,7 @@ jobs:
check_code_and_doc_quality:
docker:
- image: cimg/python:3.11@sha256:89910694a298ea0c861750804ddd100ac0ae8c6386055a8a68f7713dcdeb373d
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
auth:
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
@@ -1558,12 +1428,7 @@ jobs:
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- run: uv run --no-sync python -c "from litellm import *" || (echo '🚨 import failed, this means you introduced unprotected imports! 🚨'; exit 1)
- run: uv run --no-sync ruff check ./litellm
# - run: python ./tests/documentation_tests/test_general_setting_keys.py
@@ -1602,27 +1467,11 @@ jobs:
steps:
- checkout
- setup_google_dns
- run:
name: Install Python 3.9
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres:
db_name: litellm_test
- attach_workspace:
@@ -1701,27 +1550,11 @@ jobs:
- attach_workspace:
at: ~/project
- setup_google_dns
- run:
name: Install Python 3.9
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- run:
name: Load Docker Database Image
@@ -1795,27 +1628,11 @@ jobs:
name: Verify Docker is available
command: |
docker version
- run:
name: Install Python 3.10
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- attach_workspace:
at: ~/project
@@ -1892,27 +1709,11 @@ jobs:
name: Verify Docker is available
command: |
docker version
- run:
name: Install Python 3.9
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- attach_workspace:
at: ~/project
@@ -2026,27 +1827,11 @@ jobs:
name: Verify Docker is available
command: |
docker version
- run:
name: Install Python 3.9
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- attach_workspace:
at: ~/project
@@ -2115,27 +1900,11 @@ jobs:
name: Verify Docker is available
command: |
docker version
- run:
name: Install Python 3.9
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- attach_workspace:
at: ~/project
@@ -2223,27 +1992,11 @@ jobs:
command: |
docker version
sudo systemctl restart docker
- run:
name: Install Python 3.9
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- attach_workspace:
at: ~/project
@@ -2305,27 +2058,11 @@ jobs:
- checkout
- setup_google_dns
# Remove Docker CLI installation since it's already available in machine executor
- run:
name: Install Python 3.13
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.13 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.13
- run:
name: Build Docker image
command: |
@@ -2390,27 +2127,11 @@ jobs:
steps:
- checkout
- setup_google_dns
- run:
name: Install Python 3.10
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- attach_workspace:
at: ~/project
@@ -2509,9 +2230,6 @@ jobs:
- run:
name: Run tests
command: |
export PATH="$HOME/miniconda/bin:$PATH"
source $HOME/miniconda/etc/profile.d/conda.sh
conda activate myenv
pwd
ls
uv run --no-sync python -m pytest -v tests/pass_through_tests/ -x --junitxml=test-results/junit.xml --durations=5
@@ -2533,27 +2251,11 @@ jobs:
name: Verify Docker is available
command: |
docker version
- run:
name: Install Python 3.10
command: |
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --output miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda init bash
source ~/.bashrc
conda create -n myenv python=3.10 -y
conda activate myenv
python --version
- install_uv
- run:
name: Install Dependencies
command: |
if [ -f "$HOME/miniconda/etc/profile.d/conda.sh" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
source "$HOME/miniconda/etc/profile.d/conda.sh"
conda activate myenv
fi
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
- start_postgres
- attach_workspace:
at: ~/project
@@ -2591,9 +2293,6 @@ jobs:
- run:
name: Run Claude Agent SDK E2E Tests
command: |
export PATH="$HOME/miniconda/bin:$PATH"
source $HOME/miniconda/etc/profile.d/conda.sh
conda activate myenv
export LITELLM_PROXY_URL="http://localhost:4000"
export LITELLM_API_KEY="sk-1234"
pwd
@@ -2607,7 +2306,7 @@ jobs:
upload-coverage:
docker:
- image: cimg/python:3.9@sha256:32e85ea8c78a81b316a1ef956c11a591d0c47d2cc864ace824e4dc7cf87b34e0
- image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c
steps:
- checkout
- attach_workspace:
@@ -2729,7 +2428,7 @@ jobs:
- run:
name: Install Python dependencies
command: |
uv sync --frozen --all-groups --all-extras --python "$(which python)"
uv sync --frozen --all-groups --all-extras --python 3.12
uv run --no-sync python -m prisma generate --schema litellm/proxy/schema.prisma
- save_cache:
key: ui-e2e-py-deps-v2-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}