Skip to content

Commit 4e51508

Browse files
committed
made automerge non-async
1 parent 085f0e0 commit 4e51508

File tree

3 files changed

+53
-23
lines changed

3 files changed

+53
-23
lines changed

dist/index.js

Lines changed: 26 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/automerge.js

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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
*/
6060
async 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

Comments
 (0)