diff --git a/lib/config/presets.js b/lib/config/presets.js index 019350a9e0e0df2b5409980e902896debd4561b6..57e1357f193e6aa05e486e30720df1099253ba03 100644 --- a/lib/config/presets.js +++ b/lib/config/presets.js @@ -41,6 +41,11 @@ async function resolveConfigPresets(inputConfig, existingPresets = []) { error.validationError = `Preset package is missing a renovate-config entry (${preset})`; } else if (err.message === 'preset not found') { error.validationError = `Preset name not found within published preset config (${preset})`; + } else { + /* istanbul ignore next */ // eslint-disable-next-line + if (err.message === 'registry-failure') { + throw err; + } } logger.info('Throwing preset error'); throw error; diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js index cae471f597aabb79a8bfbaf9f84ce1f54db46308..67fa22c2aa7820d6718b45dc1b1f4517f97a6674 100644 --- a/lib/workers/repository/error.js +++ b/lib/workers/repository/error.js @@ -32,6 +32,10 @@ async function handleError(config, err) { logger.info({ error: err }, 'Repository has invalid config'); await raiseConfigWarningIssue(config, err); return err.message; + } else if (err.message === 'registry-failure') { + logger.info('Registry error - skipping'); + delete config.branchList; // eslint-disable-line no-param-reassign + return err.message; } // Swallow this error so that other repositories can be processed logger.error({ err }, `Repository has unknown error`); diff --git a/test/workers/repository/error.spec.js b/test/workers/repository/error.spec.js index 19c32a7e752eea90402918f5ed77e593459b0bd4..e651f3895c5aa532e475ebd06bea95b44ade9020 100644 --- a/test/workers/repository/error.spec.js +++ b/test/workers/repository/error.spec.js @@ -17,6 +17,7 @@ describe('workers/repository/error', () => { 'no-package-files', 'loops>5', 'config-validation', + 'registry-failure', 'archived', 'not-found', ];