@@ -54,7 +54,10 @@ const mapOpenGitHubIssuesToComponents = async (octokit, context) => {
54
54
for ( let issue of driftDetectionIssues ) {
55
55
const metadata = getMetadataFromIssueBody ( issue . body ) ;
56
56
const slug = `${ metadata . stack } -${ metadata . component } `
57
- componentsToIssues [ slug ] = issue . number ;
57
+ componentsToIssues [ slug ] = {
58
+ number : issue . number ,
59
+ error : issue . title . startsWith ( 'Failure Detected in' )
60
+ } ;
58
61
componentsToMetadata [ slug ] = metadata ;
59
62
}
60
63
@@ -106,7 +109,7 @@ const triage = async(componentsToIssueNumber, componentsToIssueMetadata, compone
106
109
107
110
for ( let slug of slugs ) {
108
111
if ( componentsToIssueNumber . hasOwnProperty ( slug ) ) {
109
- const issueNumber = componentsToIssueNumber [ slug ] ;
112
+ const issueNumber = componentsToIssueNumber [ slug ] . number ;
110
113
111
114
if ( componentsToPlanState . hasOwnProperty ( slug ) ) {
112
115
const drifted = componentsToPlanState [ slug ] . drifted ;
@@ -169,7 +172,7 @@ const closeIssues = async (octokit, context, componentsToIssueNumber, removedCom
169
172
170
173
for ( let i = 0 ; i < componentsToCloseIssuesFor . length ; i ++ ) {
171
174
const slug = componentsToCloseIssuesFor [ i ] ;
172
- const issueNumber = componentsToIssueNumber [ slug ] ;
175
+ const issueNumber = componentsToIssueNumber [ slug ] . number ;
173
176
174
177
octokit . rest . issues . update ( {
175
178
...repository ,
@@ -183,7 +186,12 @@ const closeIssues = async (octokit, context, componentsToIssueNumber, removedCom
183
186
labels : [ 'drift-recovered' ]
184
187
} ) ;
185
188
186
- const comment = removedComponents . hasOwnProperty ( slug ) ? `Component \`${ slug } \` has been removed` : `Component \`${ slug } \` is not drifting anymore` ;
189
+ let comment = `Component \`${ slug } \` is not drifting anymore` ;
190
+ if ( removedComponents . hasOwnProperty ( slug ) ) {
191
+ comment = `Component \`${ slug } \` has been removed` ;
192
+ } else if ( componentsToIssueNumber [ slug ] . error ) {
193
+ comment = `Failure \`${ slug } \` solved` ;
194
+ }
187
195
188
196
octokit . rest . issues . createComment ( {
189
197
...repository ,
@@ -273,7 +281,7 @@ const updateIssues = async (octokit, context, componentsToIssues, componentsToUp
273
281
for ( let i = 0 ; i < componentsToUpdateExistingIssue . length ; i ++ ) {
274
282
const slug = componentsToUpdateExistingIssue [ i ] ;
275
283
const issueDescription = fs . readFileSync ( `issue-description-${ slug } .md` , 'utf8' ) ;
276
- const issueNumber = componentsToIssues [ slug ] ;
284
+ const issueNumber = componentsToIssues [ slug ] . number ;
277
285
278
286
octokit . rest . issues . update ( {
279
287
...repository ,
@@ -317,21 +325,24 @@ const postDriftDetectionSummary = async (context, maxOpenedIssues, componentsToI
317
325
318
326
for ( let i = 0 ; i < removedComponents . length ; i ++ ) {
319
327
const slug = removedComponents [ i ] ;
320
- const issueNumber = componentsToIssues [ slug ] ;
328
+ const issueNumber = componentsToIssues [ slug ] . number ;
321
329
322
330
table . push ( `| [${ slug } ](https://github.com/${ orgName } /${ repo } /actions/runs/${ runId } #user-content-result-${ slug } ) |  | Component has been removed. Closed issue [#${ issueNumber } ](https://github.com/${ orgName } /${ repo } /issues/${ issueNumber } ) |` ) ;
323
331
}
324
332
325
333
for ( let i = 0 ; i < recoveredComponents . length ; i ++ ) {
326
334
const slug = recoveredComponents [ i ] ;
327
- const issueNumber = componentsToIssues [ slug ] ;
328
-
329
- table . push ( `| [${ slug } ](https://github.com/${ orgName } /${ repo } /actions/runs/${ runId } #user-content-result-${ slug } ) |  | Drift recovered. Closed issue [#${ issueNumber } ](https://github.com/${ orgName } /${ repo } /issues/${ issueNumber } ) |` ) ;
335
+ const issueNumber = componentsToIssues [ slug ] . number ;
336
+ if ( componentsToIssues [ slug ] . error ) {
337
+ table . push ( `| [${ slug } ](https://github.com/${ orgName } /${ repo } /actions/runs/${ runId } #user-content-result-${ slug } ) |  | Failure recovered. Closed issue [#${ issueNumber } ](https://github.com/${ orgName } /${ repo } /issues/${ issueNumber } ) |` ) ;
338
+ } else {
339
+ table . push ( `| [${ slug } ](https://github.com/${ orgName } /${ repo } /actions/runs/${ runId } #user-content-result-${ slug } ) |  | Drift recovered. Closed issue [#${ issueNumber } ](https://github.com/${ orgName } /${ repo } /issues/${ issueNumber } ) |` ) ;
340
+ }
330
341
}
331
342
332
343
for ( let i = 0 ; i < driftingComponents . length ; i ++ ) {
333
344
const slug = driftingComponents [ i ] ;
334
- const issueNumber = componentsToIssues [ slug ] ;
345
+ const issueNumber = componentsToIssues [ slug ] . number ;
335
346
336
347
if ( componentsCandidatesToCreateIssue . indexOf ( slug ) === - 1 ) {
337
348
table . push ( `| [${ slug } ](https://github.com/${ orgName } /${ repo } /actions/runs/${ runId } #user-content-result-${ slug } ) |  | Drift detected. Issue already exists [#${ issueNumber } ](https://github.com/${ orgName } /${ repo } /issues/${ issueNumber } ) |` ) ;
@@ -340,7 +351,7 @@ const postDriftDetectionSummary = async (context, maxOpenedIssues, componentsToI
340
351
341
352
for ( let i = 0 ; i < erroredComponents . length ; i ++ ) {
342
353
const slug = erroredComponents [ i ] ;
343
- const issueNumber = componentsToIssues [ slug ] ;
354
+ const issueNumber = componentsToIssues [ slug ] . number ;
344
355
345
356
if ( componentsCandidatesToCreateIssue . indexOf ( slug ) === - 1 ) {
346
357
table . push ( `| [${ slug } ](https://github.com/${ orgName } /${ repo } /actions/runs/${ runId } #user-content-result-${ slug } ) |  | Failure detected. Issue already exists [#${ issueNumber } ](https://github.com/${ orgName } /${ repo } /issues/${ issueNumber } ) |` ) ;
0 commit comments