diff --git a/action.yml b/action.yml index 4a7920f4..81fbfc52 100644 --- a/action.yml +++ b/action.yml @@ -39,6 +39,10 @@ inputs: description: 'Automatically approve pull request before merge' required: false default: false + auto_merge: + description: 'Automatically merge the pull request' + required: false + default: true retries: description: 'Retry count' required: false diff --git a/lib/main.js b/lib/main.js index 945230d0..682bb5ff 100644 --- a/lib/main.js +++ b/lib/main.js @@ -46,6 +46,7 @@ function run() { const prMessage = core.getInput('pr_message', { required: false }); const ignoreFail = core.getBooleanInput('ignore_fail', { required: false }); const autoApprove = core.getBooleanInput('auto_approve', { required: false }); + const autoMerge = core.getBooleanInput('auto_merge', { required: false }); const retries = parseInt(core.getInput('retries', { required: false })) || 4; const retryAfter = parseInt(core.getInput('retry_after', { required: false })) || 60; const octokit = new MyOctokit({ @@ -70,7 +71,9 @@ function run() { yield octokit.pulls.createReview({ owner: context.repo.owner, repo, pull_number: pr.data.number, event: "COMMENT", body: "Auto approved" }); yield octokit.pulls.createReview({ owner: context.repo.owner, repo, pull_number: pr.data.number, event: "APPROVE" }); } - yield octokit.pulls.merge({ owner: context.repo.owner, repo, pull_number: pr.data.number, merge_method: mergeMethod }); + if (autoMerge) { + yield octokit.pulls.merge({ owner: context.repo.owner, repo, pull_number: pr.data.number, merge_method: mergeMethod }); + } } catch (error) { if (error.request.request.retryCount) { diff --git a/package.json b/package.json index 0eba8fd2..5e7b8089 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fork-sync", - "version": "1.6.1", + "version": "1.6.2", "private": true, "description": "Keep your fork up to date", "main": "lib/main.js", diff --git a/src/main.ts b/src/main.ts index 714af819..3923c920 100644 --- a/src/main.ts +++ b/src/main.ts @@ -16,6 +16,7 @@ async function run() { const prMessage = core.getInput('pr_message', { required: false }); const ignoreFail = core.getBooleanInput('ignore_fail', { required: false }); const autoApprove = core.getBooleanInput('auto_approve', { required: false }); + const autoMerge = core.getBooleanInput('auto_merge', { required: false }); const retries = parseInt(core.getInput('retries', { required: false })) || 4; const retryAfter = parseInt(core.getInput('retry_after', { required: false })) || 60; @@ -44,7 +45,9 @@ async function run() { await octokit.pulls.createReview({ owner: context.repo.owner, repo, pull_number: pr.data.number, event: "COMMENT", body: "Auto approved" }); await octokit.pulls.createReview({ owner: context.repo.owner, repo, pull_number: pr.data.number, event: "APPROVE" }); } - await octokit.pulls.merge({ owner: context.repo.owner, repo, pull_number: pr.data.number, merge_method: mergeMethod }); + if(autoMerge) { + await octokit.pulls.merge({ owner: context.repo.owner, repo, pull_number: pr.data.number, merge_method: mergeMethod }); + } } catch (error) { if (error.request.request.retryCount) { console.log(