-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathaction.yml
More file actions
294 lines (286 loc) · 8.49 KB
/
action.yml
File metadata and controls
294 lines (286 loc) · 8.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
name: 'GitHub Test Reporter'
description:
'Build, publish and view test reports on job summaries and pull requests'
author: 'ctrf-io'
branding:
icon: 'check'
color: 'green'
inputs:
# Core Configuration
report-path:
description: 'Path or glob pattern of the CTRF JSON files.'
required: true
template-path:
description:
'Path to the Handlebars template for customizing markdown output.'
required: false
title:
description:
'Title to display in the GitHub Actions summary or pull request comment.'
required: false
# Report Options
summary-report:
description: 'Include the summary report.'
required: false
default: false
summary-delta-report:
description: 'Include the summary delta report.'
required: false
default: false
tests-changed-report:
description:
'Include the tests changed report showing added and removed tests.'
required: false
default: false
github-report:
description: 'Include the GitHub report.'
required: false
default: false
test-report:
description: 'Include the tests table report.'
required: false
default: false
test-list-report:
description: 'Include the tests list report.'
required: false
default: false
failed-report:
description: 'Include the failed tests report.'
required: false
default: false
fail-rate-report:
description: 'Include the fail rate report.'
required: false
default: false
flaky-report:
description: 'Include the flaky tests report.'
required: false
default: false
flaky-rate-report:
description: 'Include the flaky rate report.'
required: false
default: false
failed-folded-report:
description: 'Include the failed folded report.'
required: false
default: false
previous-results-report:
description: 'Include the previous results report.'
required: false
default: false
ai-report:
description: 'Include the AI analysis report.'
required: false
default: false
ai-summary-report:
description:
'Include the AI summary report with structured analysis (summary, code
issues, timeout issues, application issues, recommendations)'
required: false
default: false
skipped-report:
description: 'Include the skipped report.'
required: false
default: false
suite-folded-report:
description: 'Include the suite folded report.'
required: false
default: false
suite-list-report:
description: 'Include the suite list report.'
required: false
default: false
file-report:
description: 'Include the file report showing tests grouped by file path.'
required: false
default: false
insights-report:
description:
'Include the insights report showing test metrics and statistics.'
required: false
default: false
slowest-report:
description:
'Include a report showing the top 10 slowest tests by average duration.'
required: false
default: false
pull-request-report:
description: 'Include the pull request report.'
required: false
default: false
commit-report:
description: 'Include the commit report.'
required: false
default: false
custom-report:
description: >
Include a custom report using a Handlebars template. To group tests in the
custom report, use the 'group-by' or 'always-group-by' input.
required: false
default: false
community-report:
description:
'Include the community report. Also requires community-report-name.'
required: false
default: false
# Behavior Options
summary:
description: 'Post generated markdown to the GitHub Actions summary.'
required: false
default: true
pull-request:
description: 'Add a comment to the pull request with the generated report.'
required: false
default: false
issue:
description: 'Add a comment to the issue number with the generated report.'
required: false
default: ''
annotate:
description: 'Add annotations to failed tests in the GitHub Actions UI.'
required: false
default: true
status-check:
description: 'Create a status check for the workflow.'
required: false
default: false
status-check-name:
description: 'Name of the status check.'
required: false
default: 'GitHub Test Reporter Results'
community-report-name:
description: 'Name of the community report to use.'
required: false
default: 'summary-short'
on-fail-only:
description: 'Add a pull request comment only if tests fail.'
required: false
default: false
exit-on-no-files:
description:
'Exit the workflow with a failure status if no test files are found.'
required: false
default: false
exit-on-fail:
description: 'Exit the workflow with a failure status if any tests fail.'
required: false
default: false
exit-on-empty:
description:
'Exit the workflow with a failure status if no tests are found.'
required: false
default: false
use-suite-name:
description: 'Prefix test names with the suite name for better grouping.'
required: false
default: false
update-comment:
description: 'Update existing Pull Request comment.'
required: false
default: false
overwrite-comment:
description: 'Overwrite existing Pull Request comment.'
required: false
default: false
always-latest-comment:
description:
'Create a new comment if the existing comment is not the latest in the
thread.'
required: false
default: false
comment-tag:
description: 'Tag to match Pull Request comment'
required: false
default: false
write-ctrf-to-file:
description:
'Path to write the processed CTRF report for future processing.'
default: ''
upload-artifact:
description: 'Upload the processed CTRF report for future processing'
required: false
default: false
collapse-large-reports:
description: 'Collapse large reports (test-table and test-list) by default.'
required: false
default: false
# Advanced Options
artifact-name:
description: 'Name of the artifact containing test reports.'
required: false
default: 'ctrf-report'
previous-results-max:
description:
'Maximum number of previous test results to display in the report.
Includes test results from current run'
required: false
default: 10
fetch-previous-results:
description:
'Always fetch previous workflow runs when using custom templates.'
required: false
default: false
max-workflow-runs-to-check:
description:
'Maximum number of workflow runs to check for previous results.'
required: false
default: 400
max-previous-runs-to-fetch:
description:
'Maximum number of previous runs to fetch and process for metrics and
reports.'
required: false
default: 100
baseline:
description:
'Baseline for metrics comparison. Number = previous n reports, string =
reportId.'
required: false
default: 1
baseline-report-path:
description: 'Path to a specific CTRF report to use as a baseline.'
required: false
default: ''
group-by:
description: >
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.
required: false
default: 'filePath'
always-group-by:
description:
Force grouping by suite or file path for all reports, overriding default
behavior
required: false
default: false
report-order:
description: >
Comma-separated list of report types to specify the order in which reports
should be displayed in the summary.
required: false
default: ''
# Integration Configuration
ai:
description: >
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}'
required: false
default: '{}'
integrations-config:
description:
'JSON configuration for integrations with other developer tools'
required: false
default: '{}'
outputs:
summary:
description: 'The markdown summary generated'
report:
description: 'The report json'
runs:
using: 'node24'
main: dist/index.js