- sort by updated instead of merged

- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/1300
This commit is contained in:
Mike Penz
2024-02-09 14:33:15 +00:00
committed by GitHub
parent 41adfd2e53
commit ce8f7c0046
3 changed files with 13 additions and 9 deletions
Generated Vendored
+6 -4
View File
@@ -2145,7 +2145,7 @@ class GithubRepository extends BaseRepository_1.BaseRepository {
owner, owner,
repo, repo,
state: 'closed', state: 'closed',
sort: 'merged', sort: 'updated',
per_page: `${Math.min(100, maxPullRequests)}`, per_page: `${Math.min(100, maxPullRequests)}`,
direction: 'desc' direction: 'desc'
}); });
@@ -2379,11 +2379,13 @@ class GithubRepository extends BaseRepository_1.BaseRepository {
} }
fetchedEnough(pullRequests, fromDate) { fetchedEnough(pullRequests, fromDate) {
for (let i = 0; i < Math.min(pullRequests.length, 3); i++) { for (let i = 0; i < Math.min(pullRequests.length, 3); i++) {
// we get PRs paged by updated timestamp, there is a chance that PRs come out of merged order as a result of this
// ensure we get enough PRs to cover the expected spectrum.
const firstPR = pullRequests[i]; const firstPR = pullRequests[i];
if (!firstPR.merged_at) { if (!firstPR.updated_at) {
// no merged_at timestamp -> look for the next // no updated_at timestamp -> look for the next
} }
else if (fromDate.isAfter((0, moment_1.default)(firstPR.merged_at))) { else if (fromDate.isAfter((0, moment_1.default)(firstPR.updated_at))) {
return true; return true;
} }
else { else {
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
+6 -4
View File
@@ -100,7 +100,7 @@ export class GithubRepository extends BaseRepository {
owner, owner,
repo, repo,
state: 'closed', state: 'closed',
sort: 'merged', sort: 'updated',
per_page: `${Math.min(100, maxPullRequests)}`, per_page: `${Math.min(100, maxPullRequests)}`,
direction: 'desc' direction: 'desc'
}) })
@@ -291,10 +291,12 @@ export class GithubRepository extends BaseRepository {
private fetchedEnough(pullRequests: PullsListData, fromDate: moment.Moment): boolean { private fetchedEnough(pullRequests: PullsListData, fromDate: moment.Moment): boolean {
for (let i = 0; i < Math.min(pullRequests.length, 3); i++) { for (let i = 0; i < Math.min(pullRequests.length, 3); i++) {
// we get PRs paged by updated timestamp, there is a chance that PRs come out of merged order as a result of this
// ensure we get enough PRs to cover the expected spectrum.
const firstPR = pullRequests[i] const firstPR = pullRequests[i]
if (!firstPR.merged_at) { if (!firstPR.updated_at) {
// no merged_at timestamp -> look for the next // no updated_at timestamp -> look for the next
} else if (fromDate.isAfter(moment(firstPR.merged_at))) { } else if (fromDate.isAfter(moment(firstPR.updated_at))) {
return true return true
} else { } else {
break // not enough PRs yet, go further break // not enough PRs yet, go further