diff --git a/lib/workers/pr/index.spec.ts b/lib/workers/pr/index.spec.ts index ef07b1d19eb291b8e74a2337fe92b97dbc95867c..84e267fbc5e2d1cf2f0526968ed93c7c9fdf9422 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 495eb7b0a6c2f3fc903cf781d0132f3002e637a1..7316add335696842967d7f68ef674bb6d54ff41d 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,