From b5db28b242e9c1f9362d40f99dfb9ed11aef528a Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sun, 14 Jan 2018 18:58:49 +0100 Subject: [PATCH] fix: propagate registry-failure errors to avoid config validation warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We don’t want npmjs 5xx errors to cause config validation Issues in repositories. Closes #1388 --- lib/config/presets.js | 5 +++++ lib/workers/repository/error.js | 4 ++++ test/workers/repository/error.spec.js | 1 + 3 files changed, 10 insertions(+) diff --git a/lib/config/presets.js b/lib/config/presets.js index 019350a9e0..57e1357f19 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 cae471f597..67fa22c2aa 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 19c32a7e75..e651f3895c 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', ]; -- GitLab