From 50d23e6576ee1c068de5fb41a4e58cbc3059a685 Mon Sep 17 00:00:00 2001 From: StinkyLord <42116482+PhilipAbed@users.noreply.github.com> Date: Thu, 28 Apr 2022 15:54:49 +0300 Subject: [PATCH] feat(config): add configErrorIssue to suppressNotifications to disable issues on config failure (#15296) --- lib/config/options/index.ts | 1 + lib/workers/repository/error-config.spec.ts | 15 +++++++++++++++ lib/workers/repository/error-config.ts | 4 ++++ 3 files changed, 20 insertions(+) diff --git a/lib/config/options/index.ts b/lib/config/options/index.ts index 0216f2b956..a98159d00a 100644 --- a/lib/config/options/index.ts +++ b/lib/config/options/index.ts @@ -2060,6 +2060,7 @@ const options: RenovateOptions[] = [ 'artifactErrors', 'deprecationWarningIssues', 'onboardingClose', + 'configErrorIssue', ], cli: false, env: false, diff --git a/lib/workers/repository/error-config.spec.ts b/lib/workers/repository/error-config.spec.ts index 84b3c6c380..90b57ae868 100644 --- a/lib/workers/repository/error-config.spec.ts +++ b/lib/workers/repository/error-config.spec.ts @@ -66,5 +66,20 @@ describe('workers/repository/error-config', () => { const res = await raiseConfigWarningIssue(config, error); expect(res).toBeUndefined(); }); + + it('disable issue creation on config failure', async () => { + const error = new Error(CONFIG_VALIDATION); + error.validationSource = 'package.json'; + error.validationMessage = 'some-message'; + // config.suppressNotifications = ['deprecationWarningIssues'] + config.suppressNotifications = ['configErrorIssue']; + platform.getBranchPr.mockResolvedValueOnce({ + ...mock<Pr>(), + number: 1, + state: PrState.NotOpen, + }); + const res = await raiseConfigWarningIssue(config, error); + expect(res).toBeUndefined(); + }); }); }); diff --git a/lib/workers/repository/error-config.ts b/lib/workers/repository/error-config.ts index 4a082c997d..598ba15272 100644 --- a/lib/workers/repository/error-config.ts +++ b/lib/workers/repository/error-config.ts @@ -41,6 +41,10 @@ export async function raiseConfigWarningIssue( } } else if (GlobalConfig.get('dryRun')) { logger.info('DRY-RUN: Would ensure config error issue'); + } else if (config.suppressNotifications?.includes('configErrorIssue')) { + logger.info( + 'configErrorIssue - configuration failure, issues will be suppressed' + ); } else { const once = false; const shouldReopen = config.configWarningReuseIssue; -- GitLab