[Infra] Migrate Redis caching tests from GHA to CircleCI - #25354
Conversation
Redis caching unit tests (test_dual_cache, test_redis_batch_optimizations, test_router_utils) required Redis secrets that should live in CircleCI. - Add redis_caching_unit_tests job to CircleCI config - Delete test-unit-caching-redis.yml GHA workflow - Remove all Redis plumbing (inputs, secrets, env vars) from _test-unit-services-base.yml and its callers
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR migrates three Redis caching test files ( Confidence Score: 5/5Safe to merge — clean infra migration with no logic changes and correct coverage wiring. All findings are P2 or below. The migration faithfully replicates the GHA job structure in CircleCI, correctly threads coverage artifacts through the upload-coverage job, and removes Redis secret plumbing from GHA without leaving any dangling references. No production code is touched. No files require special attention.
|
| Filename | Overview |
|---|---|
| .circleci/config.yml | Adds redis_caching_unit_tests job and wires it into the upload-coverage pipeline; coverage combine and requires list are correctly updated. |
| .github/workflows/_test-unit-services-base.yml | Cleanly removes enable-redis input, Redis secrets, and the integration-redis-postgres environment; remaining logic is correct. |
| .github/workflows/test-unit-caching-redis.yml | File deleted — functionality moved to CircleCI; deletion is intentional and correct. |
| .github/workflows/test-unit-proxy-db.yml | Removes now-deleted enable-redis: false flag; no functional impact since the default was already false. |
| .github/workflows/test-unit-security.yml | Removes now-deleted enable-redis: false flag; no functional impact. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Push to main / litellm_*] --> B[GHA Workflows]
A --> C[CircleCI Workflow]
B --> D[test-unit-proxy-db]
B --> E[test-unit-security]
B --> F[~~test-unit-caching-redis~~\nDELETED]
C --> G[redis_caching_unit_tests]
G --> H[test_dual_cache.py]
G --> I[test_redis_batch_optimizations.py]
G --> J[test_router_utils.py]
G --> K[persist redis_caching_coverage]
K --> L[upload-coverage\ncoverage combine ...]
style F fill:#ffcccc,stroke:#cc0000
style G fill:#ccffcc,stroke:#00aa00
Reviews (3): Last reviewed commit: "[Fix] Install pytest-rerunfailures in re..." | Re-trigger Greptile
| python -m pytest -vv \ | ||
| tests/local_testing/test_dual_cache.py \ | ||
| tests/local_testing/test_redis_batch_optimizations.py \ | ||
| tests/local_testing/test_router_utils.py \ | ||
| --cov=litellm --cov-report=xml \ | ||
| -x -s -v --junitxml=test-results/junit.xml \ | ||
| --durations=5 -n 2 \ | ||
| --reruns 2 --reruns-delay 1 |
There was a problem hiding this comment.
The command specifies both -vv (extra verbose) at the start and -v (verbose) further along. Since -vv is a superset of -v, the trailing -v is redundant. Compare with other jobs in the same file (e.g. audio_testing at line 1317) which use only -vv.
| python -m pytest -vv \ | |
| tests/local_testing/test_dual_cache.py \ | |
| tests/local_testing/test_redis_batch_optimizations.py \ | |
| tests/local_testing/test_router_utils.py \ | |
| --cov=litellm --cov-report=xml \ | |
| -x -s -v --junitxml=test-results/junit.xml \ | |
| --durations=5 -n 2 \ | |
| --reruns 2 --reruns-delay 1 | |
| python -m pytest -vv \ | |
| tests/local_testing/test_dual_cache.py \ | |
| tests/local_testing/test_redis_batch_optimizations.py \ | |
| tests/local_testing/test_router_utils.py \ | |
| --cov=litellm --cov-report=xml \ | |
| -x -s --junitxml=test-results/junit.xml \ | |
| --durations=5 -n 2 \ | |
| --reruns 2 --reruns-delay 1 |
Resolved conflicts: - streaming_handler.py: combined role check (PR #24354, Azure streaming) with reasoning_items check (new in main) — both are independent OR conditions in is_chunk_non_empty() - CI/CD: accepted main's versions throughout - Redis tests migrated to CircleCI (PR #25354): removed enable-redis from GH Actions workflows - E2E UI tests restructured (PR #25365): simplified CircleCI job - Coverage via Codecov added to all GH Actions unit test workflows - Deleted test-litellm-matrix.yml and test-proxy-e2e-azure-batches.yml (removed in main)
…ests_to_circleci [Infra] Migrate Redis caching tests from GHA to CircleCI
Resolved conflicts: - streaming_handler.py: combined role check (PR BerriAI#24354, Azure streaming) with reasoning_items check (new in main) — both are independent OR conditions in is_chunk_non_empty() - CI/CD: accepted main's versions throughout - Redis tests migrated to CircleCI (PR BerriAI#25354): removed enable-redis from GH Actions workflows - E2E UI tests restructured (PR BerriAI#25365): simplified CircleCI job - Coverage via Codecov added to all GH Actions unit test workflows - Deleted test-litellm-matrix.yml and test-proxy-e2e-azure-batches.yml (removed in main)
Summary
Redis caching unit tests required cloud Redis credentials (REDIS_HOST, REDIS_PORT, REDIS_PASSWORD) which should live in CircleCI rather than GHA. This PR moves those tests to CircleCI and removes all Redis secret plumbing from GHA.
Changes
redis_caching_unit_testsjob to.circleci/config.ymlrunning the same 3 test files:test_dual_cache.py,test_redis_batch_optimizations.py,test_router_utils.py.github/workflows/test-unit-caching-redis.yml_test-unit-services-base.ymlenable-redis: falsefromtest-unit-proxy-db.ymlandtest-unit-security.ymlTesting
upload-coveragejobType
🚄 Infrastructure