diff --git a/source/app/action/index.mjs b/source/app/action/index.mjs index e9f08818..6d262c6b 100644 --- a/source/app/action/index.mjs +++ b/source/app/action/index.mjs @@ -29,6 +29,11 @@ } info.break = () => console.log("─".repeat(88)) +//Waiter + async function wait(seconds) { + await new Promise(solve => setTimeout(solve, seconds*1000)) //eslint-disable-line no-promise-executor-return + } + //Runner ;(async function() { try { @@ -243,7 +248,7 @@ error = _error console.debug("::endgroup::") console.debug(`::warning::rendering failed (${error.message})`) - await new Promise(solve => setTimeout(solve, retries_delay*1000)) //eslint-disable-line no-promise-executor-return + await wait(retries_delay) } } if (!rendered) @@ -298,13 +303,13 @@ //Merge pull request if (committer.merge) { info("Merge method", committer.merge) - let attempts = 720 + let attempts = 240 do { //Check pull request mergeability (https://octokit.github.io/rest.js/v18#pulls-get) const {data:{mergeable, mergeable_state:state}} = await committer.rest.pulls.get({...github.context.repo, pull_number:number}) console.debug(`Pull request #${number} mergeable state is "${state}"`) if (mergeable === null) { - await new Promise(solve => setTimeout(solve, 5000)) //eslint-disable-line no-promise-executor-return + await wait(15) continue } if (!mergeable) @@ -312,6 +317,17 @@ //Merge pull request await committer.rest.pulls.merge({...github.context.repo, pull_number:number, merge_method:committer.merge}) info(`Merge #${number} to ${committer.branch}`, "ok") + //Delete head branch + try { + await wait(15) + await committer.rest.git.deleteRef({...github.context.repo, ref:`heads/${committer.head}`}) + } + catch (error) { + console.debug(error) + if (!/reference does not exist/i.test(`${error}`)) + throw error + } + info(`Branch ${committer.head}`, "(deleted)") break } while (--attempts) }