47
47
pip install opentelemetry-api==1.25.0
48
48
pip install opentelemetry-sdk==1.25.0
49
49
pip install opentelemetry-exporter-otlp==1.25.0
50
- pip install openai==1.54.0
51
- pip install prisma==0.11.0
52
- pip install "detect_secrets==1.5.0"
50
+ pip install openai==1.54.0
51
+ pip install prisma==0.11.0
52
+ pip install "detect_secrets==1.5.0"
53
53
pip install "httpx==0.24.1"
54
54
pip install "respx==0.21.1"
55
55
pip install fastapi
@@ -165,9 +165,9 @@ jobs:
165
165
pip install opentelemetry-api==1.25.0
166
166
pip install opentelemetry-sdk==1.25.0
167
167
pip install opentelemetry-exporter-otlp==1.25.0
168
- pip install openai==1.54.0
169
- pip install prisma==0.11.0
170
- pip install "detect_secrets==1.5.0"
168
+ pip install openai==1.54.0
169
+ pip install prisma==0.11.0
170
+ pip install "detect_secrets==1.5.0"
171
171
pip install "httpx==0.24.1"
172
172
pip install "respx==0.21.1"
173
173
pip install fastapi
@@ -264,9 +264,9 @@ jobs:
264
264
pip install opentelemetry-api==1.25.0
265
265
pip install opentelemetry-sdk==1.25.0
266
266
pip install opentelemetry-exporter-otlp==1.25.0
267
- pip install openai==1.54.0
268
- pip install prisma==0.11.0
269
- pip install "detect_secrets==1.5.0"
267
+ pip install openai==1.54.0
268
+ pip install prisma==0.11.0
269
+ pip install "detect_secrets==1.5.0"
270
270
pip install "httpx==0.24.1"
271
271
pip install "respx==0.21.1"
272
272
pip install fastapi
@@ -367,18 +367,18 @@ jobs:
367
367
# Store test results
368
368
- store_test_results :
369
369
path : test-results
370
-
370
+
371
371
- persist_to_workspace :
372
372
root : .
373
373
paths :
374
374
- auth_ui_unit_tests_coverage.xml
375
375
- auth_ui_unit_tests_coverage
376
376
litellm_router_testing : # Runs all tests with the "router" keyword
377
377
docker :
378
- - image : cimg/python:3.11
379
- auth :
380
- username : ${DOCKERHUB_USERNAME}
381
- password : ${DOCKERHUB_PASSWORD}
378
+ - image : cimg/python:3.11
379
+ auth :
380
+ username : ${DOCKERHUB_USERNAME}
381
+ password : ${DOCKERHUB_PASSWORD}
382
382
working_directory : ~/project
383
383
384
384
steps :
@@ -417,10 +417,10 @@ jobs:
417
417
- litellm_router_coverage
418
418
litellm_proxy_unit_testing : # Runs all tests with the "proxy", "key", "jwt" filenames
419
419
docker :
420
- - image : cimg/python:3.11
421
- auth :
422
- username : ${DOCKERHUB_USERNAME}
423
- password : ${DOCKERHUB_PASSWORD}
420
+ - image : cimg/python:3.11
421
+ auth :
422
+ username : ${DOCKERHUB_USERNAME}
423
+ password : ${DOCKERHUB_PASSWORD}
424
424
working_directory : ~/project
425
425
steps :
426
426
- checkout
@@ -458,9 +458,9 @@ jobs:
458
458
pip install opentelemetry-api==1.25.0
459
459
pip install opentelemetry-sdk==1.25.0
460
460
pip install opentelemetry-exporter-otlp==1.25.0
461
- pip install openai==1.54.0
462
- pip install prisma==0.11.0
463
- pip install "detect_secrets==1.5.0"
461
+ pip install openai==1.54.0
462
+ pip install prisma==0.11.0
463
+ pip install "detect_secrets==1.5.0"
464
464
pip install "httpx==0.24.1"
465
465
pip install "respx==0.21.1"
466
466
pip install fastapi
@@ -514,10 +514,10 @@ jobs:
514
514
- litellm_proxy_unit_tests_coverage
515
515
litellm_assistants_api_testing : # Runs all tests with the "assistants" keyword
516
516
docker :
517
- - image : cimg/python:3.11
518
- auth :
519
- username : ${DOCKERHUB_USERNAME}
520
- password : ${DOCKERHUB_PASSWORD}
517
+ - image : cimg/python:3.11
518
+ auth :
519
+ username : ${DOCKERHUB_USERNAME}
520
+ password : ${DOCKERHUB_PASSWORD}
521
521
working_directory : ~/project
522
522
523
523
steps :
@@ -616,7 +616,7 @@ jobs:
616
616
command : |
617
617
mv coverage.xml llm_translation_coverage.xml
618
618
mv .coverage llm_translation_coverage
619
-
619
+
620
620
# Store test results
621
621
- store_test_results :
622
622
path : test-results
@@ -660,7 +660,7 @@ jobs:
660
660
command : |
661
661
mv coverage.xml batches_coverage.xml
662
662
mv .coverage batches_coverage
663
-
663
+
664
664
# Store test results
665
665
- store_test_results :
666
666
path : test-results
@@ -704,7 +704,7 @@ jobs:
704
704
command : |
705
705
mv coverage.xml secret_manager_coverage.xml
706
706
mv .coverage secret_manager_coverage
707
-
707
+
708
708
# Store test results
709
709
- store_test_results :
710
710
path : test-results
@@ -747,7 +747,7 @@ jobs:
747
747
command : |
748
748
mv coverage.xml pass_through_unit_tests_coverage.xml
749
749
mv .coverage pass_through_unit_tests_coverage
750
-
750
+
751
751
# Store test results
752
752
- store_test_results :
753
753
path : test-results
@@ -789,7 +789,7 @@ jobs:
789
789
command : |
790
790
mv coverage.xml image_gen_coverage.xml
791
791
mv .coverage image_gen_coverage
792
-
792
+
793
793
# Store test results
794
794
- store_test_results :
795
795
path : test-results
@@ -835,7 +835,7 @@ jobs:
835
835
command : |
836
836
mv coverage.xml logging_coverage.xml
837
837
mv .coverage logging_coverage
838
-
838
+
839
839
# Store test results
840
840
- store_test_results :
841
841
path : test-results
@@ -875,7 +875,7 @@ jobs:
875
875
pwd
876
876
ls
877
877
python -m pytest -vv tests/local_testing/test_basic_python_version.py
878
-
878
+
879
879
installing_litellm_on_python_3_13 :
880
880
docker :
881
881
- image : cimg/python:3.13.1
@@ -1039,7 +1039,7 @@ jobs:
1039
1039
cat docker_output.log
1040
1040
exit 1
1041
1041
fi
1042
-
1042
+
1043
1043
build_and_test :
1044
1044
machine :
1045
1045
image : ubuntu-2204:2023.10.1
@@ -1085,9 +1085,9 @@ jobs:
1085
1085
pip install "langfuse>=2.0.0"
1086
1086
pip install "logfire==0.29.0"
1087
1087
pip install numpydoc
1088
- pip install prisma
1089
- pip install fastapi
1090
- pip install jsonschema
1088
+ pip install prisma
1089
+ pip install fastapi
1090
+ pip install jsonschema
1091
1091
pip install "httpx==0.24.1"
1092
1092
pip install "gunicorn==21.2.0"
1093
1093
pip install "anyio==3.7.1"
@@ -1203,9 +1203,9 @@ jobs:
1203
1203
pip install "langfuse>=2.0.0"
1204
1204
pip install "logfire==0.29.0"
1205
1205
pip install numpydoc
1206
- pip install prisma
1207
- pip install fastapi
1208
- pip install jsonschema
1206
+ pip install prisma
1207
+ pip install fastapi
1208
+ pip install jsonschema
1209
1209
pip install "httpx==0.24.1"
1210
1210
pip install "gunicorn==21.2.0"
1211
1211
pip install "anyio==3.7.1"
@@ -1322,9 +1322,9 @@ jobs:
1322
1322
pip install "langfuse>=2.0.0"
1323
1323
pip install "logfire==0.29.0"
1324
1324
pip install numpydoc
1325
- pip install prisma
1326
- pip install fastapi
1327
- pip install jsonschema
1325
+ pip install prisma
1326
+ pip install fastapi
1327
+ pip install jsonschema
1328
1328
pip install "httpx==0.24.1"
1329
1329
pip install "gunicorn==21.2.0"
1330
1330
pip install "anyio==3.7.1"
@@ -1387,8 +1387,9 @@ jobs:
1387
1387
pwd
1388
1388
ls
1389
1389
python -m pytest -vv tests/otel_tests -x --junitxml=test-results/junit.xml --durations=5
1390
- no_output_timeout : 120m
1391
- # Clean up first container
1390
+ no_output_timeout :
1391
+ 120m
1392
+ # Clean up first container
1392
1393
- run :
1393
1394
name : Stop and remove first container
1394
1395
command : |
@@ -1524,8 +1525,9 @@ jobs:
1524
1525
name : Run tests
1525
1526
command : |
1526
1527
python -m pytest -vv tests/basic_proxy_startup_tests -x --junitxml=test-results/junit-2.xml --durations=5
1527
- no_output_timeout : 120m
1528
- # Clean up first container
1528
+ no_output_timeout :
1529
+ 120m
1530
+ # Clean up first container
1529
1531
- run :
1530
1532
name : Stop and remove first container
1531
1533
command : |
@@ -1572,9 +1574,9 @@ jobs:
1572
1574
pip install mypy
1573
1575
pip install pyarrow
1574
1576
pip install numpydoc
1575
- pip install prisma
1576
- pip install fastapi
1577
- pip install jsonschema
1577
+ pip install prisma
1578
+ pip install fastapi
1579
+ pip install jsonschema
1578
1580
pip install "httpx==0.24.1"
1579
1581
pip install "anyio==3.7.1"
1580
1582
pip install "asyncio==3.4.3"
@@ -1676,7 +1678,6 @@ jobs:
1676
1678
- codecov/upload :
1677
1679
file : ./coverage.xml
1678
1680
1679
-
1680
1681
publish_to_pypi :
1681
1682
docker :
1682
1683
- image : cimg/python:3.8
@@ -1703,7 +1704,6 @@ jobs:
1703
1704
circleci step halt
1704
1705
fi
1705
1706
1706
-
1707
1707
- run :
1708
1708
name : Checkout code
1709
1709
command : git checkout $CIRCLE_SHA1
@@ -1792,9 +1792,9 @@ jobs:
1792
1792
pip install mypy
1793
1793
pip install pyarrow
1794
1794
pip install numpydoc
1795
- pip install prisma
1796
- pip install fastapi
1797
- pip install jsonschema
1795
+ pip install prisma
1796
+ pip install fastapi
1797
+ pip install jsonschema
1798
1798
pip install "httpx==0.24.1"
1799
1799
pip install "anyio==3.7.1"
1800
1800
pip install "asyncio==3.4.3"
@@ -1845,6 +1845,28 @@ jobs:
1845
1845
- store_test_results :
1846
1846
path : test-results
1847
1847
1848
+ test_nonroot_image :
1849
+ machine :
1850
+ image : ubuntu-2204:2023.10.1
1851
+ resource_class : xlarge
1852
+ working_directory : ~/project
1853
+ steps :
1854
+ - checkout
1855
+ - run :
1856
+ name : Build Docker image
1857
+ command : |
1858
+ docker build -t non_root_image:latest . -f ./docker/Dockerfile.non_root
1859
+ - run :
1860
+ name : Install Container Structure Test
1861
+ command : |
1862
+ curl -LO https://github.com/GoogleContainerTools/container-structure-test/releases/download/v1.19.3/container-structure-test-linux-amd64
1863
+ chmod +x container-structure-test-linux-amd64
1864
+ sudo mv container-structure-test-linux-amd64 /usr/local/bin/container-structure-test
1865
+ - run :
1866
+ name : Run Container Structure Test
1867
+ command : |
1868
+ container-structure-test test --image non_root_image:latest --config docker/tests/nonroot.yaml
1869
+
1848
1870
test_bad_database_url :
1849
1871
machine :
1850
1872
image : ubuntu-2204:2023.10.1
@@ -1910,10 +1932,10 @@ workflows:
1910
1932
- /litellm_.*/
1911
1933
- litellm_assistants_api_testing :
1912
1934
filters :
1913
- branches :
1914
- only :
1915
- - main
1916
- - /litellm_.*/
1935
+ branches :
1936
+ only :
1937
+ - main
1938
+ - /litellm_.*/
1917
1939
- litellm_router_testing :
1918
1940
filters :
1919
1941
branches :
@@ -2086,4 +2108,3 @@ workflows:
2086
2108
branches :
2087
2109
only :
2088
2110
- main
2089
-
0 commit comments