@@ -45,14 +45,49 @@ 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
+
55
+ console . log ( '~~~ SCREENSHOT TIMING DEBUG' ) ;
56
+ let lastActiontime = Date . now ( ) ;
48
57
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 ( ) ) ;
58
+ . then ( ( ) => {
59
+
60
+ console . log ( `~~~ ${ Date . now ( ) - lastActiontime } ms elapsed, downloading golds...` ) ;
61
+ lastActiontime = Date . now ( ) ;
62
+ return downloadGoldScreenshotFiles ( database ) ;
63
+ } )
64
+ . then ( ( ) => {
65
+ console . log ( `~~~ ${ Date . now ( ) - lastActiontime } ms elapsed, comparing screenshots...` ) ;
66
+ lastActiontime = Date . now ( ) ;
67
+ return compareScreenshotFiles ( database , prNumber ) ;
68
+ } )
69
+ . then ( passedAll => {
70
+ console . log ( `~~~ ${ Date . now ( ) - lastActiontime } ms elapsed, uploading results...` ) ;
71
+ lastActiontime = Date . now ( ) ;
72
+ return Promise . all ( [
73
+ setPullRequestResult ( database , prNumber , passedAll ) ,
74
+ uploadScreenshotsData ( database , 'diff' , prNumber ) ,
75
+ uploadScreenshotsData ( database , 'test' , prNumber ) ,
76
+ ] ) ;
77
+ } )
78
+ . then ( ( ) => {
79
+ console . log ( `~~~ ${ Date . now ( ) - lastActiontime } ms elapsed, DONE!` ) ;
80
+ lastActiontime = Date . now ( ) ;
81
+ firebaseApp . delete ( ) ;
82
+ clearTimeout ( timeoutId ) ;
83
+ } )
84
+ . catch ( ( err : any ) => {
85
+ console . log ( `~~~ ${ Date . now ( ) - lastActiontime } ms elapsed, ERROR!` ) ;
86
+ lastActiontime = Date . now ( ) ;
87
+ firebaseApp . delete ( ) ;
88
+ console . error ( err ) ;
89
+ clearTimeout ( timeoutId ) ;
90
+ } ) ;
56
91
}
57
92
} ) ;
58
93
0 commit comments