[Infra] CCI config cleanup — dead step, filter dupe, cache keys, machine image

Follow-up cleanup after an independent review pass surfaced a few
loose ends:

- Delete a 6x-duplicated filter block in litellm_mapped_tests_proxy_part2
  (same kind of copy-paste residue we fixed earlier in
  langfuse_logging_unit_tests).
- Delete the empty "Install Semgrep" run step in the semgrep job — the
  command body was empty because semgrep is installed on-demand via
  uv tool run in the next step.
- Standardize machine-executor image: one job was on ubuntu-2204:2023.10.1
  while build_docker_database_image was already on ubuntu-2204:2024.04.1.
  Bumped everything to 2024.04.1.
- Remove the legacy "version: 2" inside the workflows: block — CircleCI
  2.1 top-level already declares the version.
- Drop `{{ checksum ".circleci/config.yml" }}` from cache keys (13 sites).
  It was busting the cache on every unrelated config edit; the uv.lock
  checksum alone is the right dependency cache key.
- Add partial-restore fallbacks to every restore_cache with a single
  templated key (10 sites). Jobs now fall back to the latest cache with
  a matching prefix if the exact uv.lock hash isn't cached yet.

Net: -14 lines.
This commit is contained in:
Yuneng Jiang
2026-04-21 23:31:01 -07:00
parent 0a65d2c535
commit 61fd4e985e
+35 -39
View File
@@ -114,7 +114,8 @@ commands:
- setup_google_dns
- restore_cache:
keys:
- v3-litellm-uv-deps-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
- v3-litellm-uv-deps-{{ checksum "uv.lock" }}
- v3-litellm-uv-deps-
- install_uv
- run:
name: Install Dependencies
@@ -126,7 +127,7 @@ commands:
- ~/.local/lib
- ~/.local/bin
- ~/.cache/uv
key: v3-litellm-uv-deps-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
key: v3-litellm-uv-deps-{{ checksum "uv.lock" }}
jobs:
# Add Windows testing job
@@ -175,9 +176,6 @@ jobs:
- checkout
- setup_google_dns
- install_uv
- run:
name: Install Semgrep
command: |
- run:
name: Run Semgrep (custom rules only)
command: |
@@ -203,7 +201,8 @@ jobs:
- restore_cache:
keys:
- v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
- v2-dependencies-{{ checksum "uv.lock" }}
- v2-dependencies-
- install_uv
- run:
name: Install Dependencies
@@ -213,7 +212,7 @@ jobs:
- save_cache:
paths:
- ./.venv
key: v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
key: v2-dependencies-{{ checksum "uv.lock" }}
- run:
name: Run prisma ./docker/entrypoint.sh
command: |
@@ -283,7 +282,8 @@ jobs:
- restore_cache:
keys:
- v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
- v2-dependencies-{{ checksum "uv.lock" }}
- v2-dependencies-
- install_uv
- run:
name: Install Dependencies
@@ -293,7 +293,7 @@ jobs:
- save_cache:
paths:
- ./.venv
key: v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
key: v2-dependencies-{{ checksum "uv.lock" }}
- run:
name: Run prisma ./docker/entrypoint.sh
command: |
@@ -364,7 +364,8 @@ jobs:
- restore_cache:
keys:
- v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
- v2-dependencies-{{ checksum "uv.lock" }}
- v2-dependencies-
- install_uv
- run:
name: Install Dependencies
@@ -374,7 +375,7 @@ jobs:
- save_cache:
paths:
- ./.venv
key: v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
key: v2-dependencies-{{ checksum "uv.lock" }}
- run:
name: Run prisma ./docker/entrypoint.sh
command: |
@@ -420,7 +421,7 @@ jobs:
- save_cache:
paths:
- ./.venv
key: v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
key: v2-dependencies-{{ checksum "uv.lock" }}
- wait_for_service:
url: tcp://localhost:5432
timeout: "60"
@@ -461,6 +462,7 @@ jobs:
- restore_cache:
keys:
- v1-router-testing-deps-{{ checksum "uv.lock" }}
- v1-router-testing-deps-
- install_uv
- run:
name: Install Dependencies
@@ -510,6 +512,7 @@ jobs:
- restore_cache:
keys:
- v1-router-unit-deps-{{ checksum "uv.lock" }}
- v1-router-unit-deps-
- install_uv
- run:
name: Install Dependencies
@@ -576,6 +579,7 @@ jobs:
- restore_cache:
keys:
- v1-llm-translation-deps-{{ checksum "uv.lock" }}
- v1-llm-translation-deps-
- install_uv
- run:
name: Install Dependencies
@@ -817,6 +821,7 @@ jobs:
- restore_cache:
keys:
- v1-llm-responses-deps-{{ checksum "uv.lock" }}
- v1-llm-responses-deps-
- install_uv
- run:
name: Install Dependencies
@@ -1216,7 +1221,8 @@ jobs:
- setup_google_dns
- restore_cache:
keys:
- v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
- v2-dependencies-{{ checksum "uv.lock" }}
- v2-dependencies-
- install_uv
- run:
name: Install Dependencies
@@ -1225,7 +1231,7 @@ jobs:
- save_cache:
paths:
- ./.venv
key: v2-dependencies-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
key: v2-dependencies-{{ checksum "uv.lock" }}
# Run pytest and generate JUnit XML report
- run:
name: Run tests
@@ -1335,7 +1341,7 @@ jobs:
uv run --no-sync python -m pytest -v tests/local_testing/test_basic_python_version.py -k "not v2_resolver"
helm_chart_testing:
machine:
image: ubuntu-2204:2023.10.1 # Use machine executor instead of docker
image: ubuntu-2204:2024.04.1 # Use machine executor instead of docker
resource_class: medium
working_directory: ~/project
@@ -1461,7 +1467,7 @@ jobs:
db_migration_disable_update_check:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: medium
working_directory: ~/project
steps:
@@ -1542,7 +1548,7 @@ jobs:
build_and_test:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -1618,7 +1624,7 @@ jobs:
path: test-results
e2e_openai_endpoints:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -1699,7 +1705,7 @@ jobs:
path: test-results
proxy_logging_guardrails_model_info_tests:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -1817,7 +1823,7 @@ jobs:
path: test-results
proxy_spend_accuracy_tests:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -1890,7 +1896,7 @@ jobs:
proxy_multi_instance_tests:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -1981,7 +1987,7 @@ jobs:
proxy_store_model_in_db_tests:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -2051,7 +2057,7 @@ jobs:
proxy_build_from_pip_tests:
# Change from docker to machine executor
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -2121,7 +2127,7 @@ jobs:
when: always
proxy_pass_through_endpoint_tests:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -2241,7 +2247,7 @@ jobs:
proxy_e2e_anthropic_messages_tests:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: large
working_directory: ~/project
steps:
@@ -2423,7 +2429,8 @@ jobs:
- setup_google_dns
- restore_cache:
keys:
- ui-e2e-py-deps-v2-{{ checksum "uv.lock" }}-{{ checksum ".circleci/config.yml" }}
- ui-e2e-py-deps-v2-{{ checksum "uv.lock" }}
- ui-e2e-py-deps-v2-
- install_uv
- run:
name: Install Python dependencies
@@ -2431,7 +2438,7 @@ jobs:
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" }}
key: ui-e2e-py-deps-v2-{{ checksum "uv.lock" }}
paths:
- ./.venv
- restore_cache:
@@ -2548,7 +2555,7 @@ jobs:
test_bad_database_url:
machine:
image: ubuntu-2204:2023.10.1
image: ubuntu-2204:2024.04.1
resource_class: medium
working_directory: ~/project
steps:
@@ -2588,7 +2595,6 @@ jobs:
fi
workflows:
version: 2
build_and_test:
jobs:
- using_litellm_on_windows:
@@ -2819,16 +2825,6 @@ workflows:
only:
- main
- /litellm_.*/
- main
- /litellm_.*/
- main
- /litellm_.*/
- main
- /litellm_.*/
- main
- /litellm_.*/
- main
- /litellm_.*/
- batches_testing:
filters:
branches: