mirror of
https://github.com/tiennm99/litellm.git
synced 2026-07-15 06:19:29 +00:00
Split tests/test_litellm into 10 parallel CI jobs using GitHub Actions matrix strategy to reduce PR feedback time from ~25 min to ~8-10 min. Changes: - Add new test-litellm-matrix.yml workflow with 10 matrix jobs: - llms (~225 files, 4 workers) - proxy-guardrails (~51 files, 4 workers) - proxy-core (~52 files, 4 workers) - proxy-misc (~77 files, 4 workers) - integrations (~60 files, 4 workers) - core-utils (~32 files, 2 workers) - other (~69 files, 4 workers) - includes all previously uncovered dirs - root (~34 files, 4 workers) - proxy-unit-a (~20 files, 2 workers) - proxy-unit-b (~28 files, 2 workers) - Deprecate test-litellm.yml (moved to workflow_dispatch for manual use) - Add matching Makefile targets for local testing: - make test-unit-llms - make test-unit-proxy-guardrails - make test-unit-proxy-core - make test-unit-proxy-misc - make test-unit-integrations - make test-unit-core-utils - make test-unit-other - make test-unit-root - make test-proxy-unit-a - make test-proxy-unit-b Benefits: - ~3x faster wall-clock time through parallelization - Dependency caching for faster subsequent runs - Concurrency control to cancel stale runs - Better failure isolation per test group Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
name: LiteLLM Mock Tests (folder - tests/test_litellm)
|
|
|
|
# DEPRECATED: This workflow is replaced by test-litellm-matrix.yml which runs
|
|
# the same tests in parallel across 10 jobs for faster CI times.
|
|
# Kept for manual debugging only.
|
|
on:
|
|
workflow_dispatch: # Manual trigger only
|
|
# pull_request:
|
|
# branches: [ main ]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 25
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Thank You Message
|
|
run: |
|
|
echo "### 🙏 Thank you for contributing to LiteLLM!" >> $GITHUB_STEP_SUMMARY
|
|
echo "Your PR is being tested now. We appreciate your help in making LiteLLM better!" >> $GITHUB_STEP_SUMMARY
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
poetry lock
|
|
poetry install --with dev,proxy-dev --extras "proxy semantic-router"
|
|
poetry run pip install "pytest-retry==1.6.3"
|
|
poetry run pip install pytest-xdist
|
|
poetry run pip install "google-genai==1.22.0"
|
|
poetry run pip install "google-cloud-aiplatform>=1.38"
|
|
poetry run pip install "fastapi-offline==1.7.3"
|
|
poetry run pip install "python-multipart==0.0.22"
|
|
poetry run pip install "openapi-core"
|
|
- name: Setup litellm-enterprise as local package
|
|
run: |
|
|
cd enterprise
|
|
poetry run pip install -e .
|
|
cd ..
|
|
- name: Run tests
|
|
run: |
|
|
poetry run pytest tests/test_litellm --tb=short -vv --maxfail=10 -n 4 --durations=50
|