litellm/codecov.yaml
Yuneng Jiang e25a988a3f
ci(codecov): restore litellm/ prefix on uploaded coverage paths
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.
2026-05-14 13:28:25 -07:00

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/"