diff --git a/lib/workers/repository/changelog/index.ts b/lib/workers/repository/changelog/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..9a5babdff717a210b497c51bd3d8185cb56fda42 --- /dev/null +++ b/lib/workers/repository/changelog/index.ts @@ -0,0 +1,18 @@ +import pMap from 'p-map'; +import { getChangeLogJSON } from '../../pr/changelog'; + +// istanbul ignore next +async function embedChangelog(upgrade): Promise<void> { + upgrade.logJSON = await getChangeLogJSON(upgrade); // eslint-disable-line +} + +// istanbul ignore next +export async function embedChangelogs(branches): Promise<void> { + const upgrades = []; + for (const branch of branches) { + for (const upgrade of branch.upgrades) { + upgrades.push(upgrade); + } + } + await pMap(upgrades, embedChangelog, { concurrency: 10 }); +} diff --git a/lib/workers/repository/index.ts b/lib/workers/repository/index.ts index 0e2f247bdb363f3ebb31e0977fcaf1fe9ef3f477..1459bc3ff220bc4e788f9d03530596b84602b25d 100644 --- a/lib/workers/repository/index.ts +++ b/lib/workers/repository/index.ts @@ -1,10 +1,9 @@ import fs from 'fs-extra'; - import { RenovateConfig } from '../../config'; import { logger, setMeta } from '../../logger'; import { platform } from '../../platform'; import { addSplit, getSplits, splitInit } from '../../util/split'; -import { getChangeLogJSON } from '../pr/changelog'; +import { embedChangelogs } from './changelog'; import handleError from './error'; import { finaliseRepo } from './finalise'; import { initRepo } from './init'; @@ -39,15 +38,7 @@ export async function renovateRepository( config ); await ensureOnboardingPr(config, packageFiles, branches); - await Promise.all( - branches.map(async (branch) => { - await Promise.all( - branch.upgrades.map(async (upgrade) => { - upgrade.logJSON = await getChangeLogJSON(upgrade); // eslint-disable-line no-param-reassign - }) - ); - }) - ); + await embedChangelogs(branches); addSplit('changelogs'); const res = await updateRepo(config, branches, branchList); addSplit('update'); diff --git a/package.json b/package.json index 7ab095689deb1961cb4b561268fc67115f0e9c95..501dd99291470e010ea5b343fa961cf1f3de2b20 100644 --- a/package.json +++ b/package.json @@ -151,6 +151,7 @@ "node-html-parser": "1.2.16", "npm": "6.14.5", "p-all": "2.1.0", + "p-map": "^4.0.0", "parse-diff": "0.7.0", "parse-link-header": "1.0.1", "pnpm": "3.8.1",