Skip to content

CI Coverage Workflow Has Two Blind Spots — Excludes Root Modules and Uses Outdated Codecov Action #1301

@kunal-10-cloud

Description

@kunal-10-cloud

Description

The coverage.yml workflow (line 24) only measures coverage for the anoph/ subpackage:

run: poetry run pytest -v tests --ignore tests/integration --cov malariagen_data/anoph --cov-report=xml

This completely excludes coverage measurement for:

  • malariagen_data/ag3.py, af1.py, adir1.py, amin1.py, adar1.py (all species-specific entry points)
  • malariagen_data/pf7.py, pf8.py, pf9.py, pv4.py (all Plasmodium modules)
  • malariagen_data/plasmodium.py (core Plasmodium data resource)
  • malariagen_data/veff.py (variant effect annotation)
  • malariagen_data/util.py (shared utilities)
  • malariagen_data/plotly_dendrogram.py

Additionally, the workflow uses codecov/codecov-action@v3 (line 27) while v4 has been available since early 2024 with security fixes.

How to Reproduce

# Check the coverage report after a CI run on master:
# 1. Go to Codecov dashboard for malariagen/malariagen-data-python
# 2. Note that ag3.py, plasmodium.py, veff.py, util.py show 0% coverage
# 3. Note that PRs never trigger coverage checks at all

Why It Is Important

Expected Impact After Resolution

Coverage tracking covers the full malariagen_data/ package. Regressions in Plasmodium, veff, and utility code are caught before merge. Codecov action is updated to v4 for security.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions