pytest-cov runs with --cov=litellm, which makes coverage.xml store paths relative to the package root (e.g. `proxy/proxy_server.py` instead of `litellm/proxy/proxy_server.py`). Codecov auto-resolves these only when the basename is unique in the repo. Files like proxy_server.py, router.py, utils.py, main.py, and constants.py — which have duplicates under enterprise/ or other subpackages — get silently dropped during ingest. The `fixes: ["::litellm/"]` rule prepends `litellm/` to every uploaded path so they resolve unambiguously. Confirmed against multiple recent coverage.xml artifacts that no uploader currently emits paths already prefixed with `litellm/`, so the rule is safe to apply universally. This restores Codecov visibility for the highest-fix-rate hotspots: proxy_server.py, router.py, proxy/utils.py, litellm_logging.py, constants.py, key_management_endpoints.py, utils.py, main.py, user_api_key_auth.py, team_endpoints.py, and litellm_pre_call_utils.py.
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
codecov:
|
|
require_ci_to_pass: false # post coverage status even if CI has unrelated failures
|
|
notify:
|
|
wait_for_ci: false # post as soon as expected uploads arrive, don't wait on CI
|
|
|
|
component_management:
|
|
individual_components:
|
|
- component_id: "Router"
|
|
paths:
|
|
- "router"
|
|
- component_id: "LLMs"
|
|
paths:
|
|
- "*/llms/*"
|
|
- component_id: "Caching"
|
|
paths:
|
|
- "*/caching/*"
|
|
- ".*redis.*"
|
|
- component_id: "litellm_logging"
|
|
paths:
|
|
- "*/integrations/*"
|
|
- ".*litellm_logging.*"
|
|
- component_id: "Proxy_Authentication"
|
|
paths:
|
|
- "*/proxy/auth/**"
|
|
- component_id: "Enterprise"
|
|
paths:
|
|
- "enterprise/**"
|
|
comment:
|
|
layout: "header, diff, flags, components" # show component info in the PR comment
|
|
|
|
coverage:
|
|
status:
|
|
project:
|
|
default:
|
|
target: auto
|
|
threshold: 0% # do not allow project coverage to drop
|
|
patch:
|
|
default:
|
|
target: auto
|
|
threshold: 0% # patch coverage should be 100%
|
|
|
|
# pytest-cov runs with --cov=litellm, which stores file paths in the XML
|
|
# relative to the litellm/ package root (e.g. proxy/proxy_server.py instead
|
|
# of litellm/proxy/proxy_server.py). Codecov's auto-prefix heuristic only
|
|
# resolves files whose basename is unique in the repo — files like
|
|
# proxy_server.py (3 copies), router.py (2 copies), utils.py (20+ copies),
|
|
# main.py (20+ copies), constants.py (2 copies) get silently dropped. The
|
|
# rule below restores the litellm/ prefix on every uploaded path so they
|
|
# resolve unambiguously. Safe because no current uploader emits paths that
|
|
# already start with litellm/.
|
|
fixes:
|
|
- "::litellm/"
|