From f4dbae2012f532c763d59cfeae9849d30b87639b Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Mon, 24 Jul 2023 18:03:10 +0300 Subject: [PATCH] fix: Merge `additionalReviewers` from multiple upgrades (#23540) --- .../repository/updates/generate.spec.ts | 24 +++++++++++++++++++ lib/workers/repository/updates/generate.ts | 10 ++++++++ 2 files changed, 34 insertions(+) diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts index 123a12c15edc04..359fc85ce4ea1b 100644 --- a/lib/workers/repository/updates/generate.spec.ts +++ b/lib/workers/repository/updates/generate.spec.ts @@ -1420,5 +1420,29 @@ describe('workers/repository/updates/generate', () => { expect(res.prTitle).toBe('🆙 Update dependency some-dep to 1.2.0'); expect(res.commitMessage).toBe('🆙 Update dependency some-dep to 1.2.0'); }); + + it('merges additionalReviewers', () => { + const upgrades = [ + { + ...requiredDefaultOptions, + branchName: 'some-branch', + manager: 'some-manager', + additionalReviewers: ['foo'], + }, + { + ...requiredDefaultOptions, + branchName: 'some-branch', + manager: 'some-manager', + }, + { + ...requiredDefaultOptions, + branchName: 'some-branch', + manager: 'some-manager', + additionalReviewers: ['bar'], + }, + ] satisfies BranchUpgradeConfig[]; + const res = generateBranchConfig(upgrades); + expect(res.additionalReviewers).toEqual(['foo', 'bar']); + }); }); }); diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts index 8d0893d2eeceaf..8bf3af544f7843 100644 --- a/lib/workers/repository/updates/generate.ts +++ b/lib/workers/repository/updates/generate.ts @@ -9,6 +9,7 @@ import { newlineRegex, regEx } from '../../../util/regex'; import { sanitize } from '../../../util/sanitize'; import { safeStringify } from '../../../util/stringify'; import * as template from '../../../util/template'; +import { uniq } from '../../../util/uniq'; import type { BranchConfig, BranchUpgradeConfig } from '../../types'; import { CommitMessage } from '../model/commit-message'; @@ -415,5 +416,14 @@ export function generateBranchConfig( } config.commitMessage += '\n\n' + mdTable(table) + '\n'; } + const additionalReviewers = uniq( + config.upgrades + .map((upgrade) => upgrade.additionalReviewers) + .flat() + .filter(is.nonEmptyString) + ); + if (additionalReviewers.length > 0) { + config.additionalReviewers = additionalReviewers; + } return config; }