ctrf-io/GitHub Test Reporter
Build, publish and view test reports on job summaries and pull requests
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 5, 2026
- License
- MIT
Pinned Snippet
uses: ctrf-io/github-test-reporter@e500b992f936420eb633c91644cf10d4d71df700 # v1.1.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| report-path | Path or glob pattern of the CTRF JSON files. | yes | — |
| template-path | Path to the Handlebars template for customizing markdown output. | no | — |
| title | Title to display in the GitHub Actions summary or pull request comment. | no | — |
| summary-report | Include the summary report. | no | false |
| summary-delta-report | Include the summary delta report. | no | false |
| tests-changed-report | Include the tests changed report showing added and removed tests. | no | false |
| github-report | Include the GitHub report. | no | false |
| test-report | Include the tests table report. | no | false |
| test-list-report | Include the tests list report. | no | false |
| failed-report | Include the failed tests report. | no | false |
| fail-rate-report | Include the fail rate report. | no | false |
| flaky-report | Include the flaky tests report. | no | false |
| flaky-rate-report | Include the flaky rate report. | no | false |
| failed-folded-report | Include the failed folded report. | no | false |
| previous-results-report | Include the previous results report. | no | false |
| ai-report | Include the AI analysis report. | no | false |
| ai-summary-report | Include the AI summary report with structured analysis (summary, code issues, timeout issues, application issues, recommendations) | no | false |
| skipped-report | Include the skipped report. | no | false |
| suite-folded-report | Include the suite folded report. | no | false |
| suite-list-report | Include the suite list report. | no | false |
| file-report | Include the file report showing tests grouped by file path. | no | false |
| insights-report | Include the insights report showing test metrics and statistics. | no | false |
| slowest-report | Include a report showing the top 10 slowest tests by average duration. | no | false |
| pull-request-report | Include the pull request report. | no | false |
| commit-report | Include the commit report. | no | false |
| custom-report | Include a custom report using a Handlebars template. To group tests in the custom report, use the 'group-by' or 'always-group-by' input. | no | false |
| community-report | Include the community report. Also requires community-report-name. | no | false |
| summary | Post generated markdown to the GitHub Actions summary. | no | true |
| pull-request | Add a comment to the pull request with the generated report. | no | false |
| issue | Add a comment to the issue number with the generated report. | no | "" |
| annotate | Add annotations to failed tests in the GitHub Actions UI. | no | true |
| status-check | Create a status check for the workflow. | no | false |
| status-check-name | Name of the status check. | no | GitHub Test Reporter Results |
| community-report-name | Name of the community report to use. | no | summary-short |
| on-fail-only | Add a pull request comment only if tests fail. | no | false |
| exit-on-no-files | Exit the workflow with a failure status if no test files are found. | no | false |
| exit-on-fail | Exit the workflow with a failure status if any tests fail. | no | false |
| exit-on-empty | Exit the workflow with a failure status if no tests are found. | no | false |
| use-suite-name | Prefix test names with the suite name for better grouping. | no | false |
| update-comment | Update existing Pull Request comment. | no | false |
| overwrite-comment | Overwrite existing Pull Request comment. | no | false |
| always-latest-comment | Create a new comment if the existing comment is not the latest in the thread. | no | false |
| comment-tag | Tag to match Pull Request comment | no | false |
| write-ctrf-to-file | Path to write the processed CTRF report for future processing. | — | "" |
| upload-artifact | Upload the processed CTRF report for future processing | no | false |
| collapse-large-reports | Collapse large reports (test-table and test-list) by default. | no | false |
| artifact-name | Name of the artifact containing test reports. | no | ctrf-report |
| previous-results-max | Maximum number of previous test results to display in the report. Includes test results from current run | no | 10 |
| fetch-previous-results | Always fetch previous workflow runs when using custom templates. | no | false |
| max-workflow-runs-to-check | Maximum number of workflow runs to check for previous results. | no | 400 |
| max-previous-runs-to-fetch | Maximum number of previous runs to fetch and process for metrics and reports. | no | 100 |
| baseline | Baseline for metrics comparison. Number = previous n reports, string = reportId. | no | 1 |
| baseline-report-path | Path to a specific CTRF report to use as a baseline. | no | "" |
| group-by | Specify grouping for applicable reports (e.g., suite or file path). Options: - 'suite': Group tests by their suite property. - 'filePath': Group tests by their file path. Default is 'filePath'. Use this for built-in or custom reports where grouping is needed. | no | filePath |
| always-group-by | Force grouping by suite or file path for all reports, overriding default behavior | no | false |
| report-order | Comma-separated list of report types to specify the order in which reports should be displayed in the summary. | no | "" |
| ai | JSON configuration for AI-powered test analysis. Supports multiple AI providers including OpenAI, Claude, Gemini, Grok, Deepseek, Mistral, Perplexity, Azure OpenAI, OpenRouter, and AWS Bedrock. Example: '{"provider": "openai", "model": "gpt-4", "temperature": 0.7, "maxTokens": 2000}' | no | {} |
| integrations-config | JSON configuration for integrations with other developer tools | no | {} |
Outputs
| name | description |
|---|---|
| summary | The markdown summary generated |
| report | The report json |