diff --git a/lib/workers/branch/index.js b/lib/workers/branch/index.js index 329be5a6ec83ed21bf516a7a06e056ae80207295..9563c77a6f17cd08636d2986f9ff8ceef72c3ce0 100644 --- a/lib/workers/branch/index.js +++ b/lib/workers/branch/index.js @@ -153,6 +153,7 @@ async function processBranch(branchConfig) { } const committedFiles = await commitFilesToBranch(config); + // istanbul ignore if if ( config.type === 'lockFileMaintenance' && !committedFiles && @@ -162,7 +163,8 @@ async function processBranch(branchConfig) { logger.info( 'Deleting lock file maintenance branch as master lock file no longer needs updating' ); - return 'delete'; + await platform.deleteBranch(config.branchName); + return 'done'; } if (!(committedFiles || branchExists)) { return 'no-work'; diff --git a/lib/workers/repository/cleanup.js b/lib/workers/repository/cleanup.js index e3adeeb3b10becbef084895509eae42866479efe..213f7612f7eeba34e9186515976494d26b1a790c 100644 --- a/lib/workers/repository/cleanup.js +++ b/lib/workers/repository/cleanup.js @@ -4,8 +4,7 @@ module.exports = { async function pruneStaleBranches(config) { // TODO: try/catch - let { branchList } = config; - const deletedBranches = config.deletedBranches || []; + const { branchList } = config; logger.debug('Removing any stale branches'); logger.trace({ config }, `pruneStaleBranches`); logger.debug(`config.repoIsOnboarded=${config.repoIsOnboarded}`); @@ -13,13 +12,7 @@ async function pruneStaleBranches(config) { logger.debug('No branchList'); return; } - logger.debug( - { branchList, deletedBranches }, - 'branchList and deletedBranches' - ); - branchList = branchList.filter( - branchName => !deletedBranches.includes(branchName) - ); + logger.debug({ branchList }, 'branchList'); let renovateBranches = await platform.getAllRenovateBranches( config.branchPrefix ); @@ -29,10 +22,7 @@ async function pruneStaleBranches(config) { } logger.debug({ branchList, renovateBranches }); const lockFileBranch = `${config.branchPrefix}lock-file-maintenance`; - if ( - renovateBranches.includes(lockFileBranch) && - !deletedBranches.includes(lockFileBranch) - ) { + if (renovateBranches.includes(lockFileBranch)) { logger.debug('Checking lock file branch'); const pr = await platform.getBranchPr(lockFileBranch); if (pr && pr.isUnmergeable) { diff --git a/lib/workers/repository/write.js b/lib/workers/repository/write.js index e548008416475c58ca2538cfb366124f2013c008..edd05a6d27e305f1fcadd429ab74f50e35630ade 100644 --- a/lib/workers/repository/write.js +++ b/lib/workers/repository/write.js @@ -50,7 +50,6 @@ async function writeUpdates(config) { } try { // eslint-disable-next-line no-param-reassign - config.deletedBranches = []; for (const branch of branches) { const res = await branchWorker.processBranch({ ...branch, @@ -61,13 +60,6 @@ async function writeUpdates(config) { // Stop procesing other branches because base branch has been changed return res; } - if (res === 'delete') { - logger.debug( - { branch: branch.branchName }, - 'Adding branch to deletedBranches list' - ); - config.deletedBranches.push(branch.branchName); - } prsRemaining -= res === 'pr-created' ? 1 : 0; } return 'done'; diff --git a/test/workers/branch/index.spec.js b/test/workers/branch/index.spec.js index c044913e8f4a6c6abfdca5dbb701628479a1f55e..2826715f4ad352db46069043fecc09a561f4273d 100644 --- a/test/workers/branch/index.spec.js +++ b/test/workers/branch/index.spec.js @@ -150,18 +150,6 @@ describe('workers/branch', () => { platform.branchExists.mockReturnValueOnce(false); expect(await branchWorker.processBranch(config)).toEqual('no-work'); }); - it('returns delete if existing lock file maintenace is pointless', async () => { - manager.getUpdatedPackageFiles.mockReturnValueOnce({ - updatedPackageFiles: [], - }); - lockFiles.getUpdatedLockFiles.mockReturnValueOnce({ - lockFileError: false, - updatedLockFiles: [], - }); - config.type = 'lockFileMaintenance'; - platform.branchExists.mockReturnValueOnce(true); - expect(await branchWorker.processBranch(config)).toEqual('delete'); - }); it('returns if branch automerged', async () => { manager.getUpdatedPackageFiles.mockReturnValueOnce({ updatedPackageFiles: [{}], diff --git a/test/workers/repository/cleanup.spec.js b/test/workers/repository/cleanup.spec.js index 1d77b4ee849575efdeb2559490d304c64feacb02..8ca8169d0389294bbaebb29d6ff92d98d3b6e85c 100644 --- a/test/workers/repository/cleanup.spec.js +++ b/test/workers/repository/cleanup.spec.js @@ -51,27 +51,5 @@ describe('workers/repository/cleanup', () => { expect(platform.getAllRenovateBranches.mock.calls).toHaveLength(1); expect(platform.deleteBranch.mock.calls).toHaveLength(1); }); - it('deletes lock file maintenance if should be deleted', async () => { - config.branchList = ['renovate/lock-file-maintenance']; - config.deletedBranches = ['renovate/lock-file-maintenance']; - platform.getAllRenovateBranches.mockReturnValueOnce([ - 'renovate/lock-file-maintenance', - ]); - await cleanup.pruneStaleBranches(config, [ - 'renovate/lock-file-maintenance', - ]); - expect(platform.getAllRenovateBranches.mock.calls).toHaveLength(1); - expect(platform.deleteBranch.mock.calls).toHaveLength(1); - }); - it('calls delete only once', async () => { - config.branchList = ['renovate/lock-file-maintenance']; - platform.getAllRenovateBranches.mockReturnValueOnce([ - 'renovate/lock-file-maintenance', - ]); - platform.getBranchPr = jest.fn(() => ({ isUnmergeable: true })); - await cleanup.pruneStaleBranches(config, []); - expect(platform.getAllRenovateBranches.mock.calls).toHaveLength(1); - expect(platform.deleteBranch.mock.calls).toHaveLength(1); - }); }); });