@@ -23,98 +23,115 @@ import versionInfo from './version';
2323
2424let failCi ;
2525
26- try {
27- const { commitExecArgs, commitOptions, commitCommand} = buildCommitExec ( ) ;
28- const { reportExecArgs, reportOptions, reportCommand} = buildReportExec ( ) ;
29- const {
30- uploadExecArgs,
31- uploadOptions,
32- failCi,
33- os,
34- uploaderVersion,
35- uploadCommand,
36- } = buildUploadExec ( ) ;
37- const { args, verbose} = buildGeneralExec ( ) ;
26+ /**
27+ * Main function of the codecov-action
28+ */
29+ async function run ( ) : Promise < void > {
30+ try {
31+ const {
32+ commitExecArgs,
33+ commitOptions,
34+ commitCommand,
35+ } = await buildCommitExec ( ) ;
36+ const {
37+ reportExecArgs,
38+ reportOptions,
39+ reportCommand,
40+ } = await buildReportExec ( ) ;
41+ const {
42+ uploadExecArgs,
43+ uploadOptions,
44+ failCi,
45+ os,
46+ uploaderVersion,
47+ uploadCommand,
48+ } = await buildUploadExec ( ) ;
49+ const { args, verbose} = buildGeneralExec ( ) ;
3850
39- const platform = getPlatform ( os ) ;
51+ const platform = getPlatform ( os ) ;
4052
41- const filename = path . join ( __dirname , getUploaderName ( platform ) ) ;
42- https . get ( getBaseUrl ( platform , uploaderVersion ) , ( res ) => {
53+ const filename = path . join ( __dirname , getUploaderName ( platform ) ) ;
54+ https . get ( getBaseUrl ( platform , uploaderVersion ) , ( res ) => {
4355 // Image will be stored at this path
44- const filePath = fs . createWriteStream ( filename ) ;
45- res . pipe ( filePath ) ;
46- filePath
47- . on ( 'error' , ( err ) => {
48- setFailure (
49- `Codecov: Failed to write uploader binary: ${ err . message } ` ,
50- true ,
51- ) ;
52- } ) . on ( 'finish' , async ( ) => {
53- filePath . close ( ) ;
56+ const filePath = fs . createWriteStream ( filename ) ;
57+ res . pipe ( filePath ) ;
58+ filePath
59+ . on ( 'error' , ( err ) => {
60+ setFailure (
61+ `Codecov: Failed to write uploader binary: ${ err . message } ` ,
62+ true ,
63+ ) ;
64+ } ) . on ( 'finish' , async ( ) => {
65+ filePath . close ( ) ;
5466
55- await verify ( filename , platform , uploaderVersion , verbose , failCi ) ;
56- await versionInfo ( platform , uploaderVersion ) ;
57- await fs . chmodSync ( filename , '777' ) ;
67+ await verify ( filename , platform , uploaderVersion , verbose , failCi ) ;
68+ await versionInfo ( platform , uploaderVersion ) ;
69+ await fs . chmodSync ( filename , '777' ) ;
5870
59- const unlink = ( ) => {
60- fs . unlink ( filename , ( err ) => {
61- if ( err ) {
62- setFailure (
63- `Codecov: Could not unlink uploader: ${ err . message } ` ,
64- failCi ,
65- ) ;
66- }
67- } ) ;
68- } ;
69- const doUpload = async ( ) => {
70- await exec . exec ( getCommand ( filename , args , uploadCommand ) . join ( ' ' ) ,
71- uploadExecArgs ,
72- uploadOptions )
73- . catch ( ( err ) => {
71+ const unlink = ( ) => {
72+ fs . unlink ( filename , ( err ) => {
73+ if ( err ) {
7474 setFailure (
75- `Codecov:
76- Failed to properly upload report: ${ err . message } ` ,
75+ `Codecov: Could not unlink uploader: ${ err . message } ` ,
7776 failCi ,
7877 ) ;
79- } ) ;
80- } ;
81- const createReport = async ( ) => {
78+ }
79+ } ) ;
80+ } ;
81+ const doUpload = async ( ) => {
82+ await exec . exec (
83+ getCommand ( filename , args , uploadCommand ) . join ( ' ' ) ,
84+ uploadExecArgs ,
85+ uploadOptions )
86+ . catch ( ( err ) => {
87+ setFailure (
88+ `Codecov:
89+ Failed to properly upload report: ${ err . message } ` ,
90+ failCi ,
91+ ) ;
92+ } ) ;
93+ } ;
94+ const createReport = async ( ) => {
95+ await exec . exec (
96+ getCommand ( filename , args , reportCommand ) . join ( ' ' ) ,
97+ reportExecArgs ,
98+ reportOptions )
99+ . then ( async ( exitCode ) => {
100+ if ( exitCode == 0 ) {
101+ await doUpload ( ) ;
102+ }
103+ } ) . catch ( ( err ) => {
104+ setFailure (
105+ `Codecov:
106+ Failed to properly create report: ${ err . message } ` ,
107+ failCi ,
108+ ) ;
109+ } ) ;
110+ } ;
82111 await exec . exec (
83- getCommand ( filename , args , reportCommand ) . join ( ' ' ) ,
84- reportExecArgs ,
85- reportOptions )
112+ getCommand (
113+ filename ,
114+ args ,
115+ commitCommand ,
116+ ) . join ( ' ' ) ,
117+ commitExecArgs , commitOptions )
86118 . then ( async ( exitCode ) => {
87119 if ( exitCode == 0 ) {
88- await doUpload ( ) ;
120+ await createReport ( ) ;
89121 }
122+ unlink ( ) ;
90123 } ) . catch ( ( err ) => {
91124 setFailure (
92- `Codecov:
93- Failed to properly create report: ${ err . message } ` ,
125+ `Codecov: Failed to properly create commit:
126+ ${ err . message } ` ,
94127 failCi ,
95128 ) ;
96129 } ) ;
97- } ;
98- await exec . exec (
99- getCommand (
100- filename ,
101- args ,
102- commitCommand ,
103- ) . join ( ' ' ) ,
104- commitExecArgs , commitOptions )
105- . then ( async ( exitCode ) => {
106- if ( exitCode == 0 ) {
107- await createReport ( ) ;
108- }
109- unlink ( ) ;
110- } ) . catch ( ( err ) => {
111- setFailure (
112- `Codecov: Failed to properly create commit: ${ err . message } ` ,
113- failCi ,
114- ) ;
115- } ) ;
116- } ) ;
117- } ) ;
118- } catch ( err ) {
119- setFailure ( `Codecov: Encountered an unexpected error ${ err . message } ` , failCi ) ;
130+ } ) ;
131+ } ) ;
132+ } catch ( err ) {
133+ setFailure ( `Codecov: Encountered an unexpected error ${ err . message } ` ,
134+ failCi ) ;
135+ }
120136}
137+ run ( ) ;
0 commit comments