From edacf84f47b5e70411b567dec017a40fea2d5881 Mon Sep 17 00:00:00 2001 From: Erin <contact@erin.id.au> Date: Tue, 22 Aug 2023 15:59:46 +1000 Subject: [PATCH] feat(codeowners): ignore inline comments in a CODEOWNERS file (#23996) Co-authored-by: Michael Kriese <michael.kriese@visualon.de> --- lib/workers/repository/update/pr/code-owners.spec.ts | 4 ++-- lib/workers/repository/update/pr/code-owners.ts | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/workers/repository/update/pr/code-owners.spec.ts b/lib/workers/repository/update/pr/code-owners.spec.ts index 5e5874c964..9b57c3fa17 100644 --- a/lib/workers/repository/update/pr/code-owners.spec.ts +++ b/lib/workers/repository/update/pr/code-owners.spec.ts @@ -219,9 +219,9 @@ describe('workers/repository/update/pr/code-owners', () => { [ '# comment line', ' \t ', - ' * @jimmy ', + ' * @jimmy # inline comment ', ' # comment line with leading whitespace', - ' package.json @john @maria ', + ' package.json @john @maria#inline comment without leading whitespace ', ].join('\n') ); git.getBranchFiles.mockResolvedValueOnce(['package.json']); diff --git a/lib/workers/repository/update/pr/code-owners.ts b/lib/workers/repository/update/pr/code-owners.ts index 59d6d643c4..93886333f4 100644 --- a/lib/workers/repository/update/pr/code-owners.ts +++ b/lib/workers/repository/update/pr/code-owners.ts @@ -1,3 +1,4 @@ +import is from '@sindresorhus/is'; import ignore from 'ignore'; import { logger } from '../../../../logger'; import type { Pr } from '../../../../modules/platform'; @@ -102,9 +103,11 @@ export async function codeOwnersForPr(pr: Pr): Promise<string[]> { // Convert CODEOWNERS file into list of matching rules const fileOwnerRules = codeOwnersFile .split(newlineRegex) - // Remove empty and commented lines + // Remove comments + .map((line) => line.split('#')[0]) + // Remove empty lines .map((line) => line.trim()) - .filter((line) => line && !line.startsWith('#')) + .filter(is.nonEmptyString) // Extract pattern & usernames .map(extractOwnersFromLine); -- GitLab