mirror of
https://github.com/BerriAI/litellm.git
synced 2026-08-28 05:25:59 +00:00
The absence of a CI signal is indistinguishable from a passing one, and that shape has now produced several independent holes: whole test directories no job runs, and shipped images no job builds. Nothing was watching for either, so each was found by accident. assert_ci_coverage.py enumerates every test_*.py under tests/ and every Dockerfile in the repo, then credits only what the workflows and the CircleCI config actually invoke. Paths filters and lint steps that merely name a directory do not count as coverage, because crediting a mention is the same mistake one level up. Anything neither invoked nor listed in .github/ci-coverage-allowlist.yml with a written reason fails the job. The guard found 275 uncovered test files and 6 unbuilt Dockerfiles. Fixed here: the root Dockerfile, the primary published image, now gets an image-scan leg that builds it and runs the offline migration check against it, and 8 tests/test_litellm subdirectories join the shards that already enumerate their siblings. Everything else is allowlisted per file, so a new file cannot inherit an exemption, and the remaining decisions are tracked rather than invisible. The job reports but is not in branch protection, so it does not block merges; promoting it is a separate change once the allowlist has survived contact with a few pull requests.
42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
name: "Unit Tests: Proxy Infrastructure"
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- litellm_internal_staging
|
|
- litellm_oss_staging
|
|
- "litellm_**"
|
|
push:
|
|
branches:
|
|
- main
|
|
- litellm_internal_staging
|
|
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
pull-requests: write
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
proxy-infra:
|
|
uses: ./.github/workflows/_test-unit-base.yml
|
|
with:
|
|
test-path: >-
|
|
tests/test_litellm/proxy/db
|
|
tests/test_litellm/proxy/middleware
|
|
tests/test_litellm/proxy/spend_tracking
|
|
tests/test_litellm/proxy/pass_through_endpoints
|
|
tests/test_litellm/proxy/_experimental
|
|
tests/test_litellm/proxy/experimental
|
|
tests/test_litellm/proxy/common_utils
|
|
tests/test_litellm/proxy/enterprise_billing
|
|
tests/test_litellm/proxy/types_utils
|
|
tests/test_litellm/proxy/logging_endpoints
|
|
tests/test_litellm/proxy/test_*.py
|
|
workers: 2
|
|
reruns: 2
|
|
artifact-name: proxy-infra
|