diff --git a/lib/workers/branch/index.js b/lib/workers/branch/index.js index 6d58e0f4a2..8c8fd159f0 100644 --- a/lib/workers/branch/index.js +++ b/lib/workers/branch/index.js @@ -202,7 +202,9 @@ async function processBranch(branchConfig, packageFiles) { } if (err.message === 'lockfile-error') { logger.info('Lock file error'); - } else if (err.message !== 'registry-failure') { + throw err; + } + if (err.message !== 'registry-failure') { logger.error({ err }, `Error updating branch: ${err.message}`); } // Don't throw here - we don't want to stop the other renovations diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js index 5f3557cd9d..01200cca13 100644 --- a/lib/workers/repository/error.js +++ b/lib/workers/repository/error.js @@ -55,6 +55,9 @@ async function handleError(config, err) { logger.warn('Rate limit exceeded - aborting'); delete config.branchList; // eslint-disable-line no-param-reassign return err.message; + } else if (err.message === 'lockfile-error') { + delete config.branchList; // eslint-disable-line no-param-reassign + return err.message; } // Swallow this error so that other repositories can be processed logger.error( diff --git a/test/workers/repository/error.spec.js b/test/workers/repository/error.spec.js index 992c3c4e9b..8c07834e9c 100644 --- a/test/workers/repository/error.spec.js +++ b/test/workers/repository/error.spec.js @@ -24,6 +24,7 @@ describe('workers/repository/error', () => { 'not-found', 'forbidden', 'rate-limit-exceeded', + 'lockfile-error', ]; errors.forEach(err => { it(`errors ${err}`, async () => {