@@ -8,7 +8,7 @@ const { Readable } = require('stream');
8
8
const { pipeline } = require ( 'stream/promises' ) ;
9
9
const { readFileByLine } = require ( './lib/fetch-remote-text-by-line' ) ;
10
10
const { isCI } = require ( 'ci-info' ) ;
11
- const { task } = require ( './lib/trace-runner' ) ;
11
+ const { task, traceAsync } = require ( './lib/trace-runner' ) ;
12
12
13
13
const fileExists = ( path ) => {
14
14
return fs . promises . access ( path , fs . constants . F_OK )
@@ -31,7 +31,7 @@ const downloadPreviousBuild = task(__filename, async () => {
31
31
line . startsWith ( 'Modules/' )
32
32
) && ! line . endsWith ( '/' )
33
33
) {
34
- allFileExists = await fileExists ( join ( __dirname , '..' , line ) ) ;
34
+ allFileExists = fs . existsSync ( join ( __dirname , '..' , line ) ) ;
35
35
filesList . push ( line ) ;
36
36
37
37
if ( ! allFileExists ) {
@@ -47,35 +47,40 @@ const downloadPreviousBuild = task(__filename, async () => {
47
47
return ;
48
48
}
49
49
50
- console . log ( 'Download previous build.' ) ;
51
-
52
50
const extractedPath = join ( tmpdir ( ) , `sukka-surge-last-build-extracted-${ Date . now ( ) } ` ) ;
53
51
54
- const [ resp ] = await Promise . all ( [
55
- fetch ( 'https://codeload.github.com/sukkaw/surge/tar.gz/gh-pages' ) ,
56
- fse . ensureDir ( extractedPath )
57
- ] ) ;
58
-
59
- await pipeline (
60
- Readable . fromWeb ( resp . body ) ,
61
- tar . x ( {
62
- cwd : extractedPath ,
63
- filter ( p ) {
64
- const dir = p . split ( '/' ) [ 1 ] ;
65
- return dir === 'List' || dir === 'Modules' || dir === 'Clash' ;
66
- }
67
- } )
52
+ await traceAsync (
53
+ 'Download and extract previous build' ,
54
+ ( ) => Promise . all ( [
55
+ fetch ( 'https://codeload.github.com/sukkaw/surge/tar.gz/gh-pages' ) ,
56
+ fse . ensureDir ( extractedPath )
57
+ ] ) . then ( ( [ resp ] ) => pipeline (
58
+ Readable . fromWeb ( resp . body ) ,
59
+ tar . x ( {
60
+ cwd : extractedPath ,
61
+ filter ( p ) {
62
+ const dir = p . split ( '/' ) [ 1 ] ;
63
+ return dir === 'List' || dir === 'Modules' || dir === 'Clash' ;
64
+ }
65
+ } )
66
+ ) )
68
67
) ;
69
68
69
+ console . log ( 'Files list:' , filesList ) ;
70
+
70
71
await Promise . all ( filesList . map ( async p => {
71
72
const src = join ( extractedPath , 'Surge-gh-pages' , p ) ;
72
73
if ( await fileExists ( src ) ) {
74
+ const dst = join ( __dirname , '..' , p ) ;
75
+ console . log ( 'Copy' , { src, dst } ) ;
73
76
return fse . copy (
74
77
src ,
75
78
join ( __dirname , '..' , p ) ,
76
79
{ overwrite : true }
77
80
) ;
78
81
}
82
+
83
+ console . log ( 'File not exists:' , src ) ;
79
84
} ) ) ;
80
85
81
86
await fs . promises . unlink ( extractedPath ) . catch ( ( ) => { } ) ;
0 commit comments