Skip to content
Snippets Groups Projects
Commit d2ee36f0 authored by Rhys Arkins's avatar Rhys Arkins
Browse files

fix: Revert "feat(automerge): merge passing branch even if PR exists (#3097)"

This reverts commit 514d527d.
parent 78d6d52a
No related branches found
No related tags found
No related merge requests found
...@@ -8,23 +8,13 @@ async function tryBranchAutomerge(config) { ...@@ -8,23 +8,13 @@ async function tryBranchAutomerge(config) {
return 'no automerge'; return 'no automerge';
} }
const existingPr = await platform.getBranchPr(config.branchName); const existingPr = await platform.getBranchPr(config.branchName);
if (existingPr) {
return 'automerge aborted - PR exists';
}
const branchStatus = await platform.getBranchStatus( const branchStatus = await platform.getBranchStatus(
config.branchName, config.branchName,
config.requiredStatusChecks config.requiredStatusChecks
); );
if (existingPr) {
if (branchStatus === 'success') {
if (existingPr.canRebase) {
await platform.mergeBranch(config.branchName, config.automergeType);
logger.info({ branch: config.branchName }, 'Branch automerged');
return 'automerged'; // Branch no longer exists
}
return 'automerge aborted - Human commits detected';
}
return 'automerge aborted - PR exists';
}
if (branchStatus === 'success') { if (branchStatus === 'success') {
logger.debug(`Automerging branch`); logger.debug(`Automerging branch`);
try { try {
......
...@@ -31,20 +31,12 @@ describe('workers/branch/automerge', () => { ...@@ -31,20 +31,12 @@ describe('workers/branch/automerge', () => {
expect(await tryBranchAutomerge(config)).toBe('branch status error'); expect(await tryBranchAutomerge(config)).toBe('branch status error');
}); });
it('returns false if PR exists', async () => { it('returns false if PR exists', async () => {
platform.getBranchPr.mockReturnValueOnce({});
config.automerge = true;
config.automergeType = 'branch';
expect(await tryBranchAutomerge(config)).toBe(
'automerge aborted - PR exists'
);
});
it('returns false if PR exists and success branch', async () => {
platform.getBranchPr.mockReturnValueOnce({}); platform.getBranchPr.mockReturnValueOnce({});
config.automerge = true; config.automerge = true;
config.automergeType = 'branch'; config.automergeType = 'branch';
platform.getBranchStatus.mockReturnValueOnce('success'); platform.getBranchStatus.mockReturnValueOnce('success');
expect(await tryBranchAutomerge(config)).toBe( expect(await tryBranchAutomerge(config)).toBe(
'automerge aborted - Human commits detected' 'automerge aborted - PR exists'
); );
}); });
it('returns false if automerge fails', async () => { it('returns false if automerge fails', async () => {
...@@ -62,12 +54,5 @@ describe('workers/branch/automerge', () => { ...@@ -62,12 +54,5 @@ describe('workers/branch/automerge', () => {
platform.getBranchStatus.mockReturnValueOnce('success'); platform.getBranchStatus.mockReturnValueOnce('success');
expect(await tryBranchAutomerge(config)).toBe('automerged'); expect(await tryBranchAutomerge(config)).toBe('automerged');
}); });
it('merge branch if PR exists and have one commit and success branch', async () => {
platform.getBranchPr.mockReturnValueOnce({ canRebase: true });
config.automerge = true;
config.automergeType = 'branch';
platform.getBranchStatus.mockReturnValueOnce('success');
expect(await tryBranchAutomerge(config)).toBe('automerged');
});
}); });
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment