diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js index d5ad7b49fe510e9e94ade379f46201c5ef2ef430..388ae37b6dd205cca8dffc47dd178702b488baac 100644 --- a/lib/workers/pr/index.js +++ b/lib/workers/pr/index.js @@ -250,6 +250,10 @@ async function ensurePr(prConfig) { ); } catch (err) { logger.warn({ err, message: err.message }, `Failed to create PR`); + if (err.message === 'Validation Failed (422)') { + logger.info({ branchName }, 'Deleting invalid branch'); + await platform.deleteBranch(branchName); + } return null; } // Skip assign and review if automerging PR diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js index 3f2ff841e581ed7b58faaf9776379e33eaa0b70d..0355c5b85e19545a0b1fe985502bcf75426c88bd 100644 --- a/test/workers/pr/index.spec.js +++ b/test/workers/pr/index.spec.js @@ -153,7 +153,7 @@ describe('workers/pr', () => { platform.getBranchStatus.mockReturnValueOnce('success'); platform.createPr = jest.fn(); platform.createPr.mockImplementationOnce(() => { - throw new Error('failed to create PR'); + throw new Error('Validation Failed (422)'); }); config.prCreation = 'status-success'; const pr = await prWorker.ensurePr(config);