diff --git a/lib/workers/repository/update/pr/code-owners.spec.ts b/lib/workers/repository/update/pr/code-owners.spec.ts index 5e5874c964bc7a970e74cb92fe39adb40e6738ac..9b57c3fa17c87ad51ab205a9c3564e452ec6e720 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 59d6d643c4f29405eabd157714e09de8df86f710..93886333f4cb12f3a6bb3fbfafb86805ce857c16 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);