Skip to content

Document Coverage as a required check - #20

Merged
schreck61 merged 1 commit into
mainfrom
require-coverage
Nov 11, 2026
Merged

schreck61 merged 1 commit into
mainfrom
require-coverage

Conversation

@schreck61

Copy link
Copy Markdown
Owner

What

  • GOVERNANCE.md lists test coverage of at least 80% of lines with the other required checks.
  • docs/architecture.md §11:
    • The diagram's Checks node now says 11 are required, and the separate Coverage node marked "reported, not required" is gone.
    • The table of required checks gains a Coverage row, which now explains why the tests run one at a time.
    • The bullet that said Coverage isn't required is removed.

The ruleset itself isn't changed here. That happens in the repository settings: add Coverage (GitHub Actions) to the required status checks of the "Protect main" ruleset. These docs describe the state once that's done.

Why

Coverage passed on its first run, in #19: 95.89% of lines on Linux, with 452 of 10,991 missed, against a floor of 80%. Because it was only reported, #19 merged about three minutes before the job finished. A change that dropped coverage below 80% could have merged the same way. Requiring the check keeps that floor, which the test_statement_coverage80 criterion of the OpenSSF Best Practices silver badge relies on.

The cost is time. The job took 9 min 20 s on its first run, with nothing cached. That is longer than any check required today; CodeQL's Rust analysis takes about 6 min. About 4.4 min of it was setup and the build, which caching may shorten on later runs.

Testing

Docs only. No doc still calls Coverage optional, and the Mermaid diagram has no leftover references to the removed node.

The Coverage job passed on its first run, measuring 95.89% of lines on
Linux, and joins the checks the ruleset requires before anything merges
to main. GOVERNANCE.md lists it with the other required checks, and §11
of docs/architecture.md moves it from the checks that are only reported
to the table of required ones, now 11.

Signed-off-by: Jim Schreckengast <schreck@gmail.com>
@schreck61
schreck61 enabled auto-merge (rebase) November 11, 2026 16:45
@schreck61
schreck61 merged commit 28d6336 into main Nov 11, 2026
13 checks passed
@schreck61
schreck61 deleted the require-coverage branch November 11, 2026 16:53
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