From ced374ea24eb43da8cec31c5765fe59f8a755367 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Tue, 3 Apr 2018 06:52:04 +0200 Subject: [PATCH] fix: disable manager if parentManager is disabled Closes #1778 --- lib/manager/index.js | 5 +++++ test/manager/index.spec.js | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/manager/index.js b/lib/manager/index.js index 71a1a880bf..fd0a5f18d9 100644 --- a/lib/manager/index.js +++ b/lib/manager/index.js @@ -57,6 +57,11 @@ async function detectPackageFiles(config) { logger.debug(manager + ' is disabled'); continue; // eslint-disable-line no-continue } + // Check if the parent is manually disabled + if (parentManager && config[parentManager].enabled === false) { + logger.debug(manager + ' parentManager is disabled'); + continue; // eslint-disable-line no-continue + } let files = []; if (managers[manager].detectPackageFiles) { logger.debug('manager has own detect function'); diff --git a/test/manager/index.spec.js b/test/manager/index.spec.js index 9ca1451dbf..d4fff3a8e1 100644 --- a/test/manager/index.spec.js +++ b/test/manager/index.spec.js @@ -16,7 +16,7 @@ describe('manager', () => { let config; beforeEach(() => { config = { - ...defaultConfig, + ...JSON.parse(JSON.stringify(defaultConfig)), warnings: [], }; }); @@ -29,6 +29,15 @@ describe('manager', () => { const res = await manager.detectPackageFiles(config); expect(res).toHaveLength(0); }); + it('skips if parentManager is disabled', async () => { + platform.getFileList.mockReturnValueOnce([ + 'package.json', + '.circleci/config.yml', + ]); + config.docker.enabled = false; + const res = await manager.detectPackageFiles(config); + expect(res).toHaveLength(1); + }); it('adds package files to object', async () => { platform.getFileList.mockReturnValueOnce([ 'package.json', -- GitLab