- identify merged PRs given the mergeCommitSha

- do not solely go via merge commits as not all merges will have these
This commit is contained in:
Mike Penz
2020-10-29 12:06:32 +01:00
parent eea7b77d97
commit a1b4e555e4
3 changed files with 15 additions and 42 deletions
+9 -34
View File
@@ -107,42 +107,17 @@ export class ReleaseNotes {
)
core.info(
`️ Retrieved ${prCommits.length} PR merge commits for ${owner}/${repo}`
`️ Retrieved ${prCommits.length} release commits for ${owner}/${repo}`
)
const filteredPullRequests = []
const pullRequestsByNumber: {[key: number]: PullRequestInfo} = {}
// create array of commits for this release
const releaseCommitHashes = prCommits.map(commmit => {
return commmit.sha
})
for (const pr of pullRequests) {
pullRequestsByNumber[pr.number] = pr
}
for (const commit of prCommits) {
if (!commit.prNumber) {
continue
}
const prRef = `${owner}/${repo}#${commit.prNumber}`
if (pullRequestsByNumber[commit.prNumber]) {
filteredPullRequests.push(pullRequestsByNumber[commit.prNumber])
} else if (fromDate.toISOString() === toDate.toISOString()) {
const pullRequest = await pullRequestsApi.getSingle(
owner,
repo,
commit.prNumber
)
if (pullRequest) {
filteredPullRequests.push(pullRequest)
} else {
core.warning(`⚠️ ${prRef} not found! Commit text: ${commit.summary}`)
}
} else {
core.info(`${prRef} not in date range, excluding from changelog`)
}
}
return filteredPullRequests
// return only the pull requests associated with this release
return pullRequests.filter(pr => {
return releaseCommitHashes.includes(pr.mergeCommitSha)
})
}
}