in src/github/junie/prepare-junie.ts [159:183]
async function handlePr(context: JunieExecutionContext, octokit: Octokits, pr: any) {
const maxAttempts = 10
const delay = 6000
const {owner, name} = context.payload.repository
let attempt = 0
let state = pr.mergeable_state
while (attempt < maxAttempts) {
if (!state || state == 'unknown') {
attempt++
await new Promise(resolve => setTimeout(resolve, delay))
} else if (state == 'dirty') {
await runResolveConflictsWorkflow(octokit, owner.login, name, pr.head.ref, pr.number)
return
} else {
return
}
const {data} = await octokit.rest.pulls.get({
owner: owner.login,
repo: name,
pull_number: pr.number,
});
state = data.mergeable_state
}
}