From 9e2ca6b152a81b3e7e19a06fe5e54c7823844a94 Mon Sep 17 00:00:00 2001 From: RahulGautamSingh Date: Wed, 29 May 2024 12:55:33 +0545 Subject: [PATCH] fix: `prPriority` based sorting of prs (#29306) --- lib/workers/repository/process/sort.spec.ts | 5 +++++ lib/workers/repository/process/sort.ts | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/workers/repository/process/sort.spec.ts b/lib/workers/repository/process/sort.spec.ts index 64e6993b01cbce..186e1d46348b33 100644 --- a/lib/workers/repository/process/sort.spec.ts +++ b/lib/workers/repository/process/sort.spec.ts @@ -58,11 +58,16 @@ describe('workers/repository/process/sort', () => { prTitle: 'a minor update', prPriority: -1, }, + { + updateType: 'patch' as UpdateType, + prTitle: 'a patch update', + }, ]; sortBranches(branches); expect(branches).toEqual([ { prPriority: 1, prTitle: 'some major update', updateType: 'major' }, { prPriority: 0, prTitle: 'some other pin', updateType: 'pin' }, + { prTitle: 'a patch update', updateType: 'patch' }, { prPriority: -1, prTitle: 'some pin', updateType: 'pin' }, { prPriority: -1, prTitle: 'a minor update', updateType: 'minor' }, ]); diff --git a/lib/workers/repository/process/sort.ts b/lib/workers/repository/process/sort.ts index 76f461b3ab20a4..48fe33abb9569d 100644 --- a/lib/workers/repository/process/sort.ts +++ b/lib/workers/repository/process/sort.ts @@ -21,8 +21,9 @@ export function sortBranches(branches: Partial[]): void { } // TODO #22198 - if (a.prPriority !== b.prPriority) { - return b.prPriority! - a.prPriority!; + const prPriorityDiff = getPrPriority(b) - getPrPriority(a); + if (prPriorityDiff !== 0) { + return prPriorityDiff; } // TODO #22198 const sortDiff = @@ -35,3 +36,7 @@ export function sortBranches(branches: Partial[]): void { return a.prTitle! < b.prTitle! ? -1 : 1; }); } + +function getPrPriority(branch: Partial): number { + return branch.prPriority ?? 0; +}