From 60b30e182d4818cf9d1f06a6eeb201cd62bb8889 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Thu, 12 Mar 2020 07:41:49 +0100 Subject: [PATCH] fix: fetch problematic manager deps in series --- .../process/__snapshots__/fetch.spec.ts.snap | 15 +++++++++++++++ lib/workers/repository/process/fetch.spec.ts | 7 +++++++ lib/workers/repository/process/fetch.ts | 18 +++++++++++++----- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap b/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap index 7b8d17a9e5..cda4633d9e 100644 --- a/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap +++ b/lib/workers/repository/process/__snapshots__/fetch.spec.ts.snap @@ -2,6 +2,21 @@ exports[`workers/repository/process/fetch fetchUpdates() fetches updates 1`] = ` Object { + "maven": Array [ + Object { + "deps": Array [ + Object { + "datasource": "maven", + "depName": "bbb", + "updates": Array [ + "a", + "b", + ], + }, + ], + "packageFile": "pom.xml", + }, + ], "npm": Array [ Object { "deps": Array [ diff --git a/lib/workers/repository/process/fetch.spec.ts b/lib/workers/repository/process/fetch.spec.ts index 04b7b70d81..ed2911d9e1 100644 --- a/lib/workers/repository/process/fetch.spec.ts +++ b/lib/workers/repository/process/fetch.spec.ts @@ -4,6 +4,7 @@ import * as lookup from './lookup'; import { getConfig, mocked, RenovateConfig } from '../../../../test/util'; import { ManagerApi } from '../../../manager/common'; import * as datasourceNpm from '../../../datasource/npm'; +import * as datasourceMaven from '../../../datasource/maven'; const npm: ManagerApi = _npm; const lookupUpdates = mocked(lookup).lookupUpdates; @@ -60,6 +61,12 @@ describe('workers/repository/process/fetch', () => { it('fetches updates', async () => { config.rangeStrategy = 'auto'; const packageFiles: any = { + maven: [ + { + packageFile: 'pom.xml', + deps: [{ datasource: datasourceMaven.id, depName: 'bbb' }], + }, + ], npm: [ { packageFile: 'package.json', diff --git a/lib/workers/repository/process/fetch.ts b/lib/workers/repository/process/fetch.ts index 6812d8540e..9cd79d2c86 100644 --- a/lib/workers/repository/process/fetch.ts +++ b/lib/workers/repository/process/fetch.ts @@ -87,14 +87,22 @@ async function fetchManagerPackagerFileUpdates( ): Promise<void> { const { packageFile } = pFile; const packageFileConfig = mergeChildConfig(managerConfig, pFile); - const queue = pFile.deps.map(dep => (): Promise<void> => - fetchDepUpdates(packageFileConfig, dep) - ); + const { manager } = packageFileConfig; logger.debug( - { packageFile, queueLength: queue.length }, + { manager, packageFile, queueLength: pFile.deps.length }, 'fetchManagerPackagerFileUpdates starting' ); - await pAll(queue, { concurrency: 5 }); + const problematicManagers = ['pip_requirements', 'maven']; + if (problematicManagers.includes(manager)) { + for (const dep of pFile.deps) { + await fetchDepUpdates(packageFileConfig, dep); + } + } else { + const queue = pFile.deps.map(dep => (): Promise<void> => + fetchDepUpdates(packageFileConfig, dep) + ); + await pAll(queue, { concurrency: 5 }); + } logger.debug({ packageFile }, 'fetchManagerPackagerFileUpdates finished'); } -- GitLab