Test Adequacy Guard
Version updated for https://github.com/Ostico/test-guard to version v1.4.1.
- This action is used across all versions by ? repositories.
Action Type
This is a Composite action.
Go to the GitHub Marketplace to find the latest changes.
Action Summary
Test-Guard is a GitHub Action designed to evaluate whether a pull request (PR) includes adequate test coverage for the changes made, going beyond basic code coverage percentages. It automates the process by combining diff coverage analysis, heuristic test-file matching across multiple programming languages, and AI-powered per-file evaluation to provide a definitive pass/fail verdict on testing adequacy. This action helps teams ensure robust testing practices and streamline code review by identifying untested or inadequately tested changes.
What’s Changed
๐งช Test-Guard
A GitHub Action that gates pull requests on test adequacy. Three layers โ coverage analysis, heuristic file matching across 19 languages, and AI-powered per-file evaluation โ so untested code stops slipping through review.
Quick Start
- uses: ostico/test-guard@v1
with:
coverage-file: coverage.xml
No external API keys needed โ uses the GitHub Models API with your existing GITHUB_TOKEN.
What’s New in v1.4
๐ฏ TL;DR Verdict at the Top
Reports now open with a one-line outcome so you know the result instantly:
โ
PASS โ All changes are adequately tested.
โ ๏ธ WARNING โ Test coverage has minor gaps โ review recommended.
โ FAIL โ Insufficient test coverage โ tests must be added or updated.
๐ท๏ธ Human-Readable Layer Names
No more internal jargon. Reports now say Coverage Analysis, Test File Matching, and Per-File Evaluation instead of Layer 1/2/3.
๐งน Cleaner Pipeline
- Non-source files (configs, docs, lockfiles) are pre-filtered before reaching Layer 1 โ no more vacuous “100% coverage” on files that were never in the coverage report.
- Honest messaging when no source files appear in coverage data.
โ๏ธ Concise AI Reasons
AI verdicts now produce short, actionable reasons (max 15 words per file) instead of lengthy explanations.
๐ Sponsor Support
GitHub Sponsors and PayPal donation links added.
Changelog
- โจ
feat(report): TL;DR outcome line at top of report - โจ
feat(report): human-readable layer names, dropped “(advisory)” suffix - โจ
feat(pipeline): pre-filter non-source files before Layer 1 - โจ
feat(report): honest L1 message when no source files in coverage - โจ
feat(prompt): concise AI reasons (max 15 words) - ๐
docs(readme): updated example output for v1.4 format - ๐
docs: GitHub Sponsors + PayPal donation links
Full Changelog: https://github.com/Ostico/test-guard/compare/v1.3.5...v1.4.1