diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js index d2a709f58f47bb9c05667191ccfef8c28af0f76c..50de68a3fc4f265feeaf2ab040a2427e58f12746 100644 --- a/lib/workers/pr/index.js +++ b/lib/workers/pr/index.js @@ -70,6 +70,8 @@ async function ensurePr(prConfig) { const issueRe = /([\s(])#(\d+)([)\s]?)/g; + const commitRepos = []; + // Get changelog and then generate template strings for (const upgrade of upgrades) { const upgradeKey = `${upgrade.depName}-${upgrade.changeLogFromVersion}-${ @@ -85,33 +87,35 @@ async function ensurePr(prConfig) { upgrade.changeLogFromVersion, upgrade.changeLogToVersion ); - // Store changelog markdown for backwards compatibility if (logJSON) { upgrade.githubName = logJSON.project.github; upgrade.releases = []; - logJSON.versions.forEach(version => { - const release = { ...version }; - release.commits = []; - if (release.changes) { - release.changes.forEach(change => { - const commit = { ...change }; - delete commit.date; - commit.shortSha = change.sha.slice(0, 7); - commit.url = `${logJSON.project.repository}/commit/${change.sha}`; - if (change.message) { - [commit.message] = change.message.split('\n'); - if (!config.isGitHub || config.privateRepo === true) { - commit.message = commit.message.replace( - issueRe, - `$1[#$2](${upgrade.repositoryUrl}/issues/$2)$3` - ); + if (!commitRepos.includes(upgrade.githubName)) { + commitRepos.push(upgrade.githubName); + logJSON.versions.forEach(version => { + const release = { ...version }; + release.commits = []; + if (release.changes) { + release.changes.forEach(change => { + const commit = { ...change }; + delete commit.date; + commit.shortSha = change.sha.slice(0, 7); + commit.url = `${logJSON.project.repository}/commit/${change.sha}`; + if (change.message) { + [commit.message] = change.message.split('\n'); + if (!config.isGitHub || config.privateRepo === true) { + commit.message = commit.message.replace( + issueRe, + `$1[#$2](${upgrade.repositoryUrl}/issues/$2)$3` + ); + } } - } - release.commits.push(commit); - }); - } - upgrade.releases.push(release); - }); + release.commits.push(commit); + }); + } + upgrade.releases.push(release); + }); + } } config.upgrades.push(upgrade); }