@@ -10,6 +10,7 @@ import { generateCommitReport } from './report/generateCommitReport';
10
10
import { generatePRReport } from './report/generatePRReport' ;
11
11
import { checkThreshold } from './stages/checkThreshold' ;
12
12
import { createReport } from './stages/createReport' ;
13
+ import { createRunReport } from './stages/createRunReport' ;
13
14
import { getCoverage } from './stages/getCoverage' ;
14
15
import {
15
16
checkoutRef ,
@@ -170,54 +171,22 @@ export const run = async (
170
171
}
171
172
) ;
172
173
173
- const [ isReportContentGenerated , summaryReport ] = await runStage (
174
- 'generateReportContent ' ,
174
+ const [ isRunReportGenerated , runReport ] = await runStage (
175
+ 'generateRunReport ' ,
175
176
dataCollector ,
176
- async ( ) => {
177
- return createReport ( dataCollector , options , thresholdResults ?? [ ] ) ;
178
- }
179
- ) ;
180
-
181
- await runStage ( 'publishReport' , dataCollector , async ( skip ) => {
182
- if ( ! isReportContentGenerated || ! options . output . includes ( 'comment' ) ) {
183
- skip ( ) ;
184
- }
185
-
186
- const octokit = getOctokit ( options . token ) ;
187
-
188
- if ( isInPR ) {
189
- await generatePRReport (
190
- summaryReport ! . text ,
191
- options ,
192
- context . repo ,
193
- options . pullRequest as { number : number } ,
194
- octokit
195
- ) ;
196
- } else {
197
- await generateCommitReport (
198
- summaryReport ! . text ,
199
- context . repo ,
200
- octokit
201
- ) ;
202
- }
203
- } ) ;
204
-
205
- await runStage ( 'setOutputs' , dataCollector , ( skip ) => {
206
- if (
207
- ! isReportContentGenerated ||
208
- ! options . output . includes ( 'report-markdown' )
209
- ) {
210
- skip ( ) ;
211
- }
177
+ ( skip ) => {
178
+ if ( ! isHeadCoverageGenerated ) {
179
+ skip ( ) ;
180
+ }
212
181
213
- if ( options . output . includes ( 'report-markdown' ) ) {
214
- setOutput ( 'report' , summaryReport ! . text ) ;
182
+ return createRunReport ( headCoverage ! ) ;
215
183
}
216
- } ) ;
184
+ ) ;
217
185
218
186
await runStage ( 'failedTestsAnnotations' , dataCollector , async ( skip ) => {
219
187
if (
220
188
! isHeadCoverageGenerated ||
189
+ ! isRunReportGenerated ||
221
190
! [ 'all' , 'failed-tests' ] . includes ( options . annotations )
222
191
) {
223
192
skip ( ) ;
@@ -228,11 +197,7 @@ export const run = async (
228
197
const octokit = getOctokit ( options . token ) ;
229
198
await upsertCheck (
230
199
octokit ,
231
- formatFailedTestsAnnotations (
232
- summaryReport ! . runReport ,
233
- failedAnnotations ,
234
- options
235
- )
200
+ formatFailedTestsAnnotations ( runReport ! , failedAnnotations , options )
236
201
) ;
237
202
} ) ;
238
203
@@ -261,6 +226,56 @@ export const run = async (
261
226
) ;
262
227
} ) ;
263
228
229
+ const [ isReportContentGenerated , summaryReport ] = await runStage (
230
+ 'generateReportContent' ,
231
+ dataCollector ,
232
+ async ( ) => {
233
+ return createReport (
234
+ dataCollector ,
235
+ runReport ,
236
+ options ,
237
+ thresholdResults ?? [ ]
238
+ ) ;
239
+ }
240
+ ) ;
241
+
242
+ await runStage ( 'publishReport' , dataCollector , async ( skip ) => {
243
+ if ( ! isReportContentGenerated || ! options . output . includes ( 'comment' ) ) {
244
+ skip ( ) ;
245
+ }
246
+
247
+ const octokit = getOctokit ( options . token ) ;
248
+
249
+ if ( isInPR ) {
250
+ await generatePRReport (
251
+ summaryReport ! . text ,
252
+ options ,
253
+ context . repo ,
254
+ options . pullRequest as { number : number } ,
255
+ octokit
256
+ ) ;
257
+ } else {
258
+ await generateCommitReport (
259
+ summaryReport ! . text ,
260
+ context . repo ,
261
+ octokit
262
+ ) ;
263
+ }
264
+ } ) ;
265
+
266
+ await runStage ( 'setOutputs' , dataCollector , ( skip ) => {
267
+ if (
268
+ ! isReportContentGenerated ||
269
+ ! options . output . includes ( 'report-markdown' )
270
+ ) {
271
+ skip ( ) ;
272
+ }
273
+
274
+ if ( options . output . includes ( 'report-markdown' ) ) {
275
+ setOutput ( 'report' , summaryReport ! . text ) ;
276
+ }
277
+ } ) ;
278
+
264
279
if ( dataCollector . get ( ) . errors . length > 0 ) {
265
280
setFailed ( i18n ( 'failed' ) ) ;
266
281
}
0 commit comments