Skip to content

ci: add coverage reporting and harden workflow - #183

Merged
ElliotSun merged 5 commits into
mainfrom
ci/add-coverage-reporting
Aug 29, 2026
Merged

ci: add coverage reporting and harden workflow#183
ElliotSun merged 5 commits into
mainfrom
ci/add-coverage-reporting

Conversation

@ElliotSun

Copy link
Copy Markdown
Collaborator

Summary

Adds repository-native test coverage reporting without introducing an external coverage SaaS.

Changes

  • add a dedicated Python 3.13 coverage job using pytest-cov
  • emit terminal missing-line coverage plus coverage.xml and HTML coverage
  • upload XML + HTML reports as a GitHub Actions artifact for 14 days
  • keep the existing Python 3.11–3.14 test matrix unchanged
  • set workflow-level contents: read least-privilege permissions
  • add 30-minute job timeouts to prevent stuck runners

Deliberately not included

  • no coverage threshold yet: establish the baseline first, then set a meaningful non-regression floor
  • no Codecov/Coveralls or other external SaaS
  • no mypy/type-check gate yet because the repository does not currently have a type-check configuration/baseline
  • no broad Ruff expansion in this PR; current static check remains focused on fatal/error classes

Existing CI/security checks already present

  • frozen uv dependency install
  • Python 3.11–3.14 test matrix
  • package build verification
  • CodeQL on PR/push plus weekly schedule
  • dependency review on PRs
  • Dependabot for Python and GitHub Actions

Follow-up recommendation

Once this PR reports the first baseline, set a conservative coverage floor and consider a separate typed/static-quality PR for mypy/pyright plus broader Ruff rules rather than mixing repository-wide cleanup into this CI change.

@ElliotSun
ElliotSun merged commit 81d45fd into main Aug 29, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant