Skip to content

ci: measure and publish coverage - #57

Merged
FMSMITH91 merged 1 commit into
mainfrom
ci/coverage-report
Aug 8, 2026
Merged

ci: measure and publish coverage#57
FMSMITH91 merged 1 commit into
mainfrom
ci/coverage-report

Conversation

@FMSMITH91

Copy link
Copy Markdown
Owner

Codacy carries a 60% coverage goal that has always read "not reported", because nothing ever produced a report.

Measured: 51% overall.

terminal.py                  100%     auth.py                       87%
models.py                     90%     config.py                     83%
backup.py                     68%     db_maintenance.py             58%
ssh_manager.py                55%     system_ops.py                 52%
notifications.py              51%     i18n.py                       47%
tailscale_integration.py      45%     app.py                        43%
manage.py                      0%
                                      TOTAL                         51%

A separate, non-blocking job. It re-runs the four suites under tracing, which is slower, and the gate job should stay the fast answer — so this one only measures and never decides pass/fail. The table lands in the job summary; coverage.xml and coverage.txt upload as artifacts.

Where the misses actually are

Worth saying, so the number isn't read as worse than it is: app.py at 43% and ssh_manager.py at 55% are largely install, bootstrap and remote-management paths that need a real host to exercise. Chasing the percentage there for its own sake would be the wrong instinct.

manage.py at 0% is the interesting one — that's the break-glass CLI a locked-out admin uses to reset a password or disable 2FA. A genuine gap, and a good next target.

auth.py 87% and models.py 90% are where this session's tests landed.

Codacy upload

Needs a CODACY_PROJECT_TOKEN this repo doesn't have. The step is present but commented out with the instructions, rather than half-wired into a job that would fail on a missing secret. Add the secret and uncomment two lines to turn it on.

Verified by running the job's exact commands locally — 4 suites traced, combined, valid Cobertura XML out.

🤖 Generated with Claude Code

Codacy carries a 60% coverage goal that has always read "not reported",
because nothing ever produced a report. Measured: 51% overall.

A separate, deliberately non-blocking job. It re-runs the four suites under
tracing, which is slower, and the gate job should stay the fast answer — so
this one only measures and never decides pass/fail. The summary lands in the
job summary and coverage.xml/coverage.txt upload as artifacts.

Where the misses are, for anyone reading the number: app.py 43% and
ssh_manager.py 55% are mostly install/bootstrap and remote-management paths
that need a real host to exercise, which is why they are low and why chasing
the percentage for its own sake would be the wrong instinct. manage.py is 0%
— the break-glass CLI a locked-out admin uses, and a genuine gap.
auth.py 87% and models.py 90% are where this session's tests landed.

Codacy upload needs a CODACY_PROJECT_TOKEN this repo does not have, so the
step is present but commented out with the instructions rather than
half-wired into a job that would fail on the missing secret.

Verified by running the job's exact commands locally: 4 suites traced,
combined, valid Cobertura XML out.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@FMSMITH91
FMSMITH91 merged commit fecb344 into main Aug 8, 2026
19 checks passed
@FMSMITH91
FMSMITH91 deleted the ci/coverage-report branch August 8, 2026 18:20
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