From e90593e339bf22c99f33ffbb9c69fe1bc17ae919 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Wed, 14 Apr 2021 22:58:06 +0200 Subject: [PATCH] refactor: move automerge check to branch worker --- lib/workers/branch/index.spec.ts | 2 +- lib/workers/branch/index.ts | 5 ++++- lib/workers/pr/automerge.spec.ts | 4 ---- lib/workers/pr/automerge.ts | 6 ------ 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/lib/workers/branch/index.spec.ts b/lib/workers/branch/index.spec.ts index 17b546a9bb..28fa8400d3 100644 --- a/lib/workers/branch/index.spec.ts +++ b/lib/workers/branch/index.spec.ts @@ -453,7 +453,7 @@ describe(getName(__filename), () => { } as EnsurePrResult); prAutomerge.checkAutoMerge.mockResolvedValueOnce(true); commit.commitFilesToBranch.mockResolvedValueOnce(null); - await branchWorker.processBranch(config); + await branchWorker.processBranch({ ...config, automerge: true }); expect(prWorker.ensurePr).toHaveBeenCalledTimes(1); expect(platform.ensureCommentRemoval).toHaveBeenCalledTimes(0); expect(prAutomerge.checkAutoMerge).toHaveBeenCalledTimes(1); diff --git a/lib/workers/branch/index.ts b/lib/workers/branch/index.ts index 10bf5edfea..cccad4d050 100644 --- a/lib/workers/branch/index.ts +++ b/lib/workers/branch/index.ts @@ -599,12 +599,15 @@ export async function processBranch( }); } } - } else { + } else if (config.automerge) { + logger.debug('PR is configured for automerge'); const prAutomerged = await checkAutoMerge(pr, config); if (prAutomerged && config.automergeType !== 'pr-comment') { await deleteBranchSilently(config.branchName); return ProcessBranchResult.Automerged; } + } else { + logger.debug('PR is not configured for automerge'); } } } catch (err) /* istanbul ignore next */ { diff --git a/lib/workers/pr/automerge.spec.ts b/lib/workers/pr/automerge.spec.ts index f6deec360d..546751c711 100644 --- a/lib/workers/pr/automerge.spec.ts +++ b/lib/workers/pr/automerge.spec.ts @@ -24,10 +24,6 @@ describe(getName(__filename), () => { afterEach(() => { jest.clearAllMocks(); }); - it('should not automerge if not configured', async () => { - await prAutomerge.checkAutoMerge(pr, config); - expect(platform.mergePr).toHaveBeenCalledTimes(0); - }); it('should automerge if enabled and pr is mergeable', async () => { config.automerge = true; platform.getBranchStatus.mockResolvedValueOnce(BranchStatus.green); diff --git a/lib/workers/pr/automerge.ts b/lib/workers/pr/automerge.ts index 38507fc208..1348f0eca3 100644 --- a/lib/workers/pr/automerge.ts +++ b/lib/workers/pr/automerge.ts @@ -12,17 +12,11 @@ export async function checkAutoMerge( logger.trace({ config }, 'checkAutoMerge'); const { branchName, - automerge, automergeType, automergeComment, requiredStatusChecks, rebaseRequested, } = config; - if (!automerge) { - logger.debug('No automerge'); - return false; - } - logger.debug('PR is configured for automerge'); // Return if PR not ready for automerge if (pr.isConflicted) { logger.debug('PR is conflicted'); -- GitLab