From c86ae327e236b213f85f10b48e279a66350f97b2 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Wed, 14 Aug 2019 19:48:31 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20don=E2=80=99t=20rebase=20if=20target=20b?= =?UTF-8?q?ranch=20changed=20(#4254)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/workers/branch/index.js | 6 +++++- test/workers/branch/index.spec.js | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/workers/branch/index.js b/lib/workers/branch/index.js index 41900187f5..cd382564b9 100644 --- a/lib/workers/branch/index.js +++ b/lib/workers/branch/index.js @@ -122,7 +122,11 @@ async function processBranch(branchConfig, prHourlyLimitReached, packageFiles) { ); throw new Error('repository-changed'); } - if (!branchPr.canRebase) { + if ( + !branchPr.canRebase || + (branchPr.targetBranch && + branchPr.targetBranch !== branchConfig.baseBranch) + ) { const subject = 'PR has been edited'; if (masterIssueCheck || config.rebaseRequested) { if (config.dryRun) { diff --git a/test/workers/branch/index.spec.js b/test/workers/branch/index.spec.js index 640e5c01bc..5027e424c3 100644 --- a/test/workers/branch/index.spec.js +++ b/test/workers/branch/index.spec.js @@ -159,6 +159,18 @@ describe('workers/branch', () => { const res = await branchWorker.processBranch(config); expect(res).toEqual('pr-edited'); }); + it('skips branch if target branch changed', async () => { + schedule.isScheduledNow.mockReturnValueOnce(false); + platform.branchExists.mockReturnValueOnce(true); + platform.getBranchPr.mockReturnValueOnce({ + state: 'open', + canRebase: true, + targetBranch: 'v6', + }); + config.baseBranch = 'master'; + const res = await branchWorker.processBranch(config); + expect(res).toEqual('pr-edited'); + }); it('returns if pr creation limit exceeded', async () => { getUpdated.getUpdatedPackageFiles.mockReturnValueOnce({ updatedPackageFiles: [], -- GitLab