Skip to content

feat(tests): add coverage configuration and CI threshold gate (closes #357)#551

Merged
s2x merged 1 commit into
masterfrom
feat/issue-357-coverage-ci-threshold
Jul 3, 2026
Merged

feat(tests): add coverage configuration and CI threshold gate (closes #357)#551
s2x merged 1 commit into
masterfrom
feat/issue-357-coverage-ci-threshold

Conversation

@s2x

@s2x s2x commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Description

Closes #357

Changes

  • Populate <coverage/> in phpunit.xml with Clover and text report configuration.
  • Add composer test:coverage script that runs the suite with --coverage-clover var/coverage.xml.
  • Add composer coverage:check script that enforces a line-coverage threshold via bin/check-coverage.php.
  • Add bin/check-coverage.php to parse the Clover file and fail if coverage is below the configured threshold.
  • Update CI to enable PCOV, run composer test:coverage, check the threshold, and upload the Clover report as an artifact.
  • Add tests/CoverageCiGateTest.php regression test asserting the coverage gate remains in the workflow.
  • Document local coverage usage in CONTRIBUTING.md.
  • Update CHANGELOG.md under [Unreleased].

Changelog

Added coverage infrastructure: configured phpunit.xml, CI threshold gate, and local coverage scripts.

@s2x s2x self-assigned this Jul 3, 2026
@s2x
s2x force-pushed the feat/issue-357-coverage-ci-threshold branch from 982a76a to 2dbc501 Compare July 3, 2026 20:41
@s2x
s2x merged commit d0aef65 into master Jul 3, 2026
12 checks passed
@s2x
s2x deleted the feat/issue-357-coverage-ci-threshold branch July 3, 2026 20:44
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.

[Tests] phpunit.xml declares empty <coverage/> with no CI threshold

1 participant