Skip to content

[FEATURE] Coverage Phase 1: Wire observability into CI #1399

@sergio-sisternes-epam

Description

@sergio-sisternes-epam

Is your feature request related to a problem? Please describe.
CI has no coverage measurement. Contributors cannot see coverage impact
of their changes, and regressions land silently.

Describe the solution you'd like
Wire pytest-cov into both CI pipelines (unit and integration) with
report-only output to $GITHUB_STEP_SUMMARY. No fail_under gate --
this phase establishes observability only.

Changes

  1. Add pytest-cov to dev dependencies
  2. Add [tool.coverage.run] and [tool.coverage.report] to pyproject.toml
    • source = ["src/apm_cli"], branch = true, parallel = true
    • Exclude patterns: pragma: no cover, TYPE_CHECKING, NotImplementedError
  3. Update ci.yml unit test step with --cov flags
  4. Add coverage summary step writing markdown table to $GITHUB_STEP_SUMMARY
  5. Update ci-integration.yml sharded test step with --cov flags
  6. Add per-shard coverage artifact upload
  7. Add fan-in job to download, merge, and render integration coverage summary
  8. No fail_under gate -- observability only

Describe alternatives you've considered

  • Using Codecov or Coveralls -- rejected to avoid third-party dependency;
    GitHub-native $GITHUB_STEP_SUMMARY keeps everything in-repo.

Additional context
Parent: #1398 -- Phase 1 of the progressive coverage strangler-fig ratchet.

Acceptance criteria

  • Unit coverage summary appears in CI job summary (markdown table)
  • Integration coverage summary appears in fan-in job summary
  • Both summaries include overall % and collapsible lowest-coverage files
  • No PR is blocked by coverage -- report only

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ci-cdGitHub workflows, merge queue, gh-aw integrations, release pipeline.area/testingTest infrastructure, fixtures, e2e harness, coverage.qualitytype/featureNew capability, new flag, new primitive.

    Type

    No fields configured for Task.

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions