From 8144f07b697d4bf7922a4ad0b8d57e2afef90283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Brauer?= <zaubernerd@zaubernerd.de> Date: Thu, 14 May 2020 13:13:38 +0200 Subject: [PATCH] feat(pr): remove and re-create automergeComment when rebasing (#6002) --- lib/workers/pr/index.spec.ts | 12 ++++++++++++ lib/workers/pr/index.ts | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/lib/workers/pr/index.spec.ts b/lib/workers/pr/index.spec.ts index ef07b1d19e..84e267fbc5 100644 --- a/lib/workers/pr/index.spec.ts +++ b/lib/workers/pr/index.spec.ts @@ -85,6 +85,18 @@ describe('workers/pr', () => { pr.isModified = false; platform.getBranchStatus.mockResolvedValueOnce(BranchStatus.green); await prWorker.checkAutoMerge(pr, config); + expect(platform.ensureCommentRemoval).toHaveBeenCalledTimes(0); + expect(platform.ensureComment).toHaveBeenCalledTimes(1); + }); + it('should remove previous automerge comment when rebasing', async () => { + config.automerge = true; + config.automergeType = 'pr-comment'; + config.automergeComment = '!merge'; + config.rebaseRequested = true; + pr.isModified = false; + platform.getBranchStatus.mockResolvedValueOnce(BranchStatus.green); + await prWorker.checkAutoMerge(pr, config); + expect(platform.ensureCommentRemoval).toHaveBeenCalledTimes(1); expect(platform.ensureComment).toHaveBeenCalledTimes(1); }); it('should not automerge if enabled and pr is mergeable but cannot rebase', async () => { diff --git a/lib/workers/pr/index.ts b/lib/workers/pr/index.ts index 495eb7b0a6..7316add335 100644 --- a/lib/workers/pr/index.ts +++ b/lib/workers/pr/index.ts @@ -437,6 +437,7 @@ export async function checkAutoMerge( automergeType, automergeComment, requiredStatusChecks, + rebaseRequested, } = config; logger.debug( { automerge, automergeType, automergeComment }, @@ -481,6 +482,12 @@ export async function checkAutoMerge( ); return false; } + if (rebaseRequested) { + await platform.ensureCommentRemoval({ + number: pr.number, + content: automergeComment, + }); + } return platform.ensureComment({ number: pr.number, topic: null, -- GitLab