diff --git a/__tests__/changedFiles.test.ts b/__tests__/changedFiles.test.ts index 2c784963..1cd40690 100644 --- a/__tests__/changedFiles.test.ts +++ b/__tests__/changedFiles.test.ts @@ -54,9 +54,9 @@ describe('checkAnyChangedFiles', () => { describe('when all globs do not match any of the files that have changed', () => { const globs = ['*.txt', '*.md']; - it('returns false', () => { + it('returns true', () => { const result = checkAnyChangedFiles(changedFiles, globs); - expect(result).toBe(false); + expect(result).toBe(true); }); }); }); diff --git a/dist/index.js b/dist/index.js index ed026c11..77ed5bd4 100644 --- a/dist/index.js +++ b/dist/index.js @@ -186,7 +186,19 @@ exports.toChangedFilesMatchConfig = toChangedFilesMatchConfig; function printPattern(matcher) { return (matcher.negate ? '!' : '') + matcher.pattern; } -function isMatch(changedFile, matchers) { +function isAnyMatch(changedFile, matchers) { + core.debug(` matching patterns against file ${changedFile}`); + for (const matcher of matchers) { + core.debug(` - ${printPattern(matcher)}`); + if (matcher.match(changedFile)) { + core.debug(` ${printPattern(matcher)} matched`); + return true; + } + } + core.debug(` no patterns matched`); + return false; +} +function isAllMatch(changedFile, matchers) { core.debug(` matching patterns against file ${changedFile}`); for (const matcher of matchers) { core.debug(` - ${printPattern(matcher)}`); @@ -201,7 +213,7 @@ function isMatch(changedFile, matchers) { function checkAnyChangedFiles(changedFiles, globs) { const matchers = globs.map(g => new minimatch_1.Minimatch(g)); for (const changedFile of changedFiles) { - if (isMatch(changedFile, matchers)) { + if (isAnyMatch(changedFile, matchers)) { core.debug(` "any" patterns matched against ${changedFile}`); return true; } @@ -213,7 +225,7 @@ exports.checkAnyChangedFiles = checkAnyChangedFiles; function checkAllChangedFiles(changedFiles, globs) { const matchers = globs.map(g => new minimatch_1.Minimatch(g)); for (const changedFile of changedFiles) { - if (!isMatch(changedFile, matchers)) { + if (!isAllMatch(changedFile, matchers)) { core.debug(` "all" patterns did not match against ${changedFile}`); return false; }