in src/github/junie/prepare-junie.ts [115:157]
async function shouldResolveConflicts(context: JunieExecutionContext, octokit: Octokits): Promise<boolean> {
console.log('Checking for conflicts...')
if (isResolveConflictsWorkflowDispatchEvent(context)) {
return true;
}
const {owner, name} = context.payload.repository
const prs = []
if (context.isPR && context.entityNumber) {
const {data} = await octokit.rest.pulls.get({
owner: owner.login,
repo: name,
pull_number: context.entityNumber,
})
prs.push(data)
} else if (isPushEvent(context)) {
const branch = context.payload.ref.replace("refs/heads/", "");
const {data} = await octokit.rest.pulls.list({
owner: owner.login,
repo: name,
base: branch,
state: "open"
});
console.log(`Found ${JSON.stringify(data)} open pull requests for branch ${branch}`)
for (const pr of data) {
const {data} = await octokit.rest.pulls.get({
owner: owner.login,
repo: name,
pull_number: pr.number,
});
prs.push(data)
}
} else {
return false
}
await Promise.all(prs.map(pr => handlePr(context, octokit, pr)))
return false
}