@@ -55,14 +55,15 @@ async function findDownStreamBranches(config) {
5555 * @param source string
5656 * @param target string
5757 * @param config
58- * @returns { Promise< boolean> }
58+ * @returns boolean
5959 */
6060async function merge ( source , target , config ) {
6161 // Get authenticated GitHub client (Ocktokit): https://github.com/actions/toolkit/tree/master/packages/github#usage
6262 const github = GitHub . getOctokit ( process . env . GITHUB_TOKEN ) ;
6363 const { repo } = GitHub . context ;
6464
6565 console . log ( `merge started: ${ source } => ${ target } ` ) ;
66+
6667 try {
6768 const commitMessage = config . mergeTpl . replace ( '{source_branch}' , source ) . replace ( '{target_branch}' , target ) ;
6869
@@ -73,6 +74,7 @@ async function merge(source, target, config) {
7374 head : source ,
7475 commit_message : commitMessage
7576 } ) ;
77+
7678 console . log ( 'commit details' , result . commit ) ;
7779
7880 return true ;
@@ -83,16 +85,21 @@ async function merge(source, target, config) {
8385
8486 const prTitle = config . prTpl . replace ( '{source_branch}' , source ) . replace ( '{target_branch}' , target ) ;
8587
86- const { data : result } = await github . pulls . create ( {
87- owner : repo . owner ,
88- repo : repo . repo ,
89- base : target ,
90- head : source ,
91- title : prTitle ,
92- body : `${ e . name } : ${ e . message } `
93- } ) ;
88+ try {
89+ const { data : result } = await github . pulls . create ( {
90+ owner : repo . owner ,
91+ repo : repo . repo ,
92+ base : target ,
93+ head : source ,
94+ title : prTitle ,
95+ body : `${ e . name } : ${ e . message } `
96+ } ) ;
97+
98+ console . log ( 'pr result' , result ) ;
99+ } catch ( e2 ) {
100+ core . setFailed ( e2 . message ) ;
101+ }
94102
95- console . log ( 'pr result' , result ) ;
96103 return false ;
97104 }
98105}
@@ -118,7 +125,15 @@ async function run() {
118125 . filter ( ( item ) => item . tgt ) ;
119126
120127 console . log ( 'merges expected' , mergeSpec ) ;
121- mergeSpec . every ( ( item ) => merge ( item . src , item . tgt , config ) ) ;
128+ for ( let i = 0 ; i < mergeSpec . length ; i += 1 ) {
129+ const item = mergeSpec [ i ] ;
130+
131+ /*eslint-disable */
132+ if ( ! ( await merge ( item . src , item . tgt , config ) ) ) {
133+ break ;
134+ }
135+ /* eslint-enable */
136+ }
122137 } catch ( error ) {
123138 core . setFailed ( error . message ) ;
124139 }
0 commit comments