Add GitHub Actions CI for unit tests - #18
Conversation
Without an automated gate, regressions can land on main unnoticed; a stable `test` job also unlocks a required status check later.
CI wraps long output paths across lines, so asserting an unbroken basename substring in stdout was a false failure.
|
Babysit: CI |
Baseline unit coverage is ~65% statements / ~46% branches; gate only statements for now and upload branch-aware reports to Codecov.
|
Added Codecov + coverage ratchet on top of CI: Measured baseline (unit suite, no ML extras):
Also: README Codecov + CI badges, Action needed from you: create the project on codecov.io, add repo secret `CODECOV_TOKEN`. Upload step uses `fail_ci_if_error: false` so missing token won’t fail CI; the ratchet still enforces coverage. |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment Thanks for integrating Codecov - We've got you covered ☂️ |
Allows raising the gate via a GitHub Actions repo variable without a code change.
|
|
Summary
.github/workflows/ci.ymlwith jobteston pull requests and pushes tomain.uv sync --extra devonly (no Apple Silicon ML extras; unit tests do not need them).Test plan
uv run pytestgreen on this branchtestcheck runs on this PRtestas a required status check on Protect main