crclabs-hq/GateTest Quality Gate
120-module AI-powered quality gate with self-healing CI
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 10, 2026
- License
- MIT
Pinned Snippet
uses: crclabs-hq/gatetest@ddc2c3f7f28f9e9a01e880e66b828111d106f297 # v1.1.3tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| suite | Which GateTest suite to run: quick (41 modules) / standard (45) / full (88) / nuclear (95). Unknown values fall back to standard. | no | quick |
| diff-only | On pull_request events, scan only the files the PR changes (vs the base branch). Keeps PRs from being flooded with pre-existing repo-wide findings. Set to false to scan the whole repo on every event. Non-PR events always scan the full repo. | no | true |
| auto-fix | When true and the gate blocks, run the AI CI-fixer to propose a patch (requires ANTHROPIC_API_KEY). | no | false |
| node-version | Node.js version to use (GateTest requires Node 20+). | no | 22 |
| working-directory | Directory to scan. Defaults to the repository root. | no | . |
| report-format | Report format produced by the gate: console / json / sarif / junit. | no | console |
| fail-on-warning | When true, warning-severity findings also block the gate (default is errors-only). | no | false |
| track-non-fixable | Open a GitHub Issue per error-severity finding the auto-fixer could not resolve. Idempotent — re-scans never duplicate. Default off. | no | false |
| threshold | Minimum acceptable letter grade (A/B/C/D) computed from the scan (same A-F scale as gatetest.ai/playground). When set, the gate ALSO fails if the computed grade is below this — on top of, not instead of, the `block`/`fail-on-warning` error-count gate. Default empty = grade never gates on its own. | no | "" |
| summary-comment | Post (and keep updated across re-runs) one PR comment with the grade, error/warning counts, and top findings. Default true on pull_request events. | no | true |
| block | When true, the gate FAILS the workflow on any confident error finding. Default FALSE — fresh installs report findings as a PR comment but never block CI, so pre-existing rot in a mature codebase does not stop deploys on day 1. Flip to `true` once the team has triaged the baseline and wants the gate to actually enforce. | no | false |
| share-learnings | OPT-IN: sync successful fix recipes (anonymised — no paths, no repo names, no source code outside the 2KB before/after snippet) to gatetest.ai so every other customer benefits from this fix. Default off. See https://gatetest.ai/trust for what is and is not shared. | no | false |
| recipe-store-url | HTTP endpoint to sync fix recipes to. Defaults to https://gatetest.ai/api/recipes when share-learnings is true. Set to your own URL for a private recipe store (the Action will sync there instead). | no | "" |
| mutation | Run mutation testing after the gate (Nuclear tier or opt-in). Requires the customer test suite to run. | no | false |
| chaos | Run live-browser chaos / runtime checks against a URL (Nuclear tier or opt-in). Requires playwright. | no | false |
| chaos-url | Live URL to chaos-test (deployed staging or prod, NOT localhost). Required when chaos: true. | no | "" |
| mutation-blocks-merge | When true, a failing mutation score blocks the merge. Default false — mutation is coaching, not a gate. | no | false |
| chaos-blocks-merge | When true, chaos / runtime failures block the merge. Default false — chaos surfaces resilience gaps as warnings. | no | false |
Outputs
| name | description |
|---|---|
| gate-status | The gate verdict: "passed" or "blocked". |
| error-count | Number of error-severity findings from the scan. |
| warning-count | Number of warning-severity findings from the scan. |
| report-path | Filesystem path to the generated report (empty when report-format is "console"). |
| grade | Letter grade (A/B/C/D/F) computed from the scan — same A-F scale as gatetest.ai/playground. Empty when no JSON report was produced. |
| score | Numeric 0-100 score the grade above is derived from. |