@@ -45,14 +45,53 @@ task('screenshots', () => {
45
45
const firebaseApp = connectFirebaseScreenshots ( ) ;
46
46
const database = firebaseApp . database ( ) ;
47
47
48
+ // If this task hasn't completed in 5 minutes, close the firebase connection.
49
+ const timeoutId = setTimeout ( ( ) => {
50
+ console . log ( '~~~ KILLED!' ) ;
51
+ return firebaseApp . delete ( ) ;
52
+ } , 60 * 1000 * 5 ) ;
53
+
54
+ console . log ( '~~~ Uploading Travis Job Info' , Date . now ( ) ) ;
55
+ let last = Date . now ( ) ;
48
56
return uploadTravisJobInfo ( database , prNumber )
49
- . then ( ( ) => downloadGoldScreenshotFiles ( database ) )
50
- . then ( ( ) => compareScreenshotFiles ( database , prNumber ) )
51
- . then ( passedAll => setPullRequestResult ( database , prNumber , passedAll ) )
52
- . then ( ( ) => uploadScreenshotsData ( database , 'diff' , prNumber ) )
53
- . then ( ( ) => uploadScreenshotsData ( database , 'test' , prNumber ) )
54
- . catch ( ( err : any ) => console . error ( err ) )
55
- . then ( ( ) => firebaseApp . delete ( ) ) ;
57
+ . then ( ( ) => {
58
+ console . log ( '~~~ Downloading golds' , `${ Date . now ( ) - last } ms elapsed` ) ;
59
+ last = Date . now ( ) ;
60
+ return downloadGoldScreenshotFiles ( database ) ;
61
+ } )
62
+ . then ( ( ) => {
63
+ console . log ( '~~~ Comparing files' , `${ Date . now ( ) - last } ms elapsed` ) ;
64
+ last = Date . now ( ) ;
65
+ return compareScreenshotFiles ( database , prNumber ) ;
66
+ } )
67
+ . then ( passedAll => {
68
+ console . log ( '~~~ Setting pull request results' , `${ Date . now ( ) - last } ms elapsed` ) ;
69
+ last = Date . now ( ) ;
70
+ return setPullRequestResult ( database , prNumber , passedAll ) ;
71
+ } )
72
+ . then ( ( ) => {
73
+ console . log ( '~~~ Uploading screenshot diff data' , `${ Date . now ( ) - last } ms elapsed` ) ;
74
+ last = Date . now ( ) ;
75
+ return uploadScreenshotsData ( database , 'diff' , prNumber ) ;
76
+ } )
77
+ . then ( ( ) => {
78
+ console . log ( '~~~ Uploading screenshot test data' , `${ Date . now ( ) - last } ms elapsed` ) ;
79
+ last = Date . now ( ) ;
80
+ return uploadScreenshotsData ( database , 'test' , prNumber ) ;
81
+ } )
82
+ . then ( ( ) => {
83
+ console . log ( '~~~ DONE!' , `${ Date . now ( ) - last } ms elapsed` ) ;
84
+ last = Date . now ( ) ;
85
+ firebaseApp . delete ( ) ;
86
+ clearTimeout ( timeoutId ) ;
87
+ } )
88
+ . catch ( ( err : any ) => {
89
+ console . log ( '~~~ ERROR!' , `${ Date . now ( ) - last } ms elapsed` ) ;
90
+ last = Date . now ( ) ;
91
+ firebaseApp . delete ( ) ;
92
+ console . error ( err ) ;
93
+ clearTimeout ( timeoutId ) ;
94
+ } ) ;
56
95
}
57
96
} ) ;
58
97
0 commit comments