From 9f259ee115870de321bf5ca1370e79853e9d151a Mon Sep 17 00:00:00 2001 From: Josh Dales Date: Sat, 18 Mar 2023 15:15:42 -0400 Subject: [PATCH] Rename checkGlobs to checkMatchConfigs and check each property --- __tests__/labeler.test.ts | 8 ++++---- src/labeler.ts | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/__tests__/labeler.test.ts b/__tests__/labeler.test.ts index e320eb7b..6b322f21 100644 --- a/__tests__/labeler.test.ts +++ b/__tests__/labeler.test.ts @@ -1,4 +1,4 @@ -import {checkGlobs, MatchConfig} from '../src/labeler'; +import {checkMatchConfigs, MatchConfig} from '../src/labeler'; import * as core from '@actions/core'; @@ -16,17 +16,17 @@ const matchConfig = [ {'changed-files': [{any: ['*.txt']}]} ] as unknown as MatchConfig[]; -describe('checkGlobs', () => { +describe('checkMatchConfigs', () => { it('returns true when our pattern does match changed files', () => { const changedFiles = ['foo.txt', 'bar.txt']; - const result = checkGlobs(changedFiles, matchConfig); + const result = checkMatchConfigs(changedFiles, matchConfig); expect(result).toBeTruthy(); }); it('returns false when our pattern does not match changed files', () => { const changedFiles = ['foo.docx']; - const result = checkGlobs(changedFiles, matchConfig); + const result = checkMatchConfigs(changedFiles, matchConfig); expect(result).toBeFalsy(); }); diff --git a/src/labeler.ts b/src/labeler.ts index 6070d178..5effa71a 100644 --- a/src/labeler.ts +++ b/src/labeler.ts @@ -47,7 +47,7 @@ export async function run() { const labelsToRemove: string[] = []; for (const [label, configs] of labelConfigs.entries()) { core.debug(`processing ${label}`); - if (checkGlobs(changedFiles, configs)) { + if (checkMatchConfigs(changedFiles, configs)) { labels.push(label); } else if (pullRequest.labels.find(l => l.name === label)) { labelsToRemove.push(label); @@ -205,18 +205,18 @@ function printPattern(matcher: Minimatch): string { return (matcher.negate ? '!' : '') + matcher.pattern; } -export function checkGlobs( +export function checkMatchConfigs( changedFiles: string[], - globs: MatchConfig[] + matchConfigs: MatchConfig[] ): boolean { - for (const glob of globs) { - core.debug(` checking pattern ${JSON.stringify(glob)}`); - const matchConfig = toMatchConfig(glob); - if (checkMatch(changedFiles, matchConfig)) { - return true; + for (const config of matchConfigs) { + core.debug(` checking pattern ${JSON.stringify(config)}`); + const matchConfig = toMatchConfig(config); + if (!checkMatch(changedFiles, matchConfig)) { + return false; } } - return false; + return true; } function isMatch(changedFile: string, matchers: Minimatch[]): boolean {