mirror of
https://github.com/n8n-io/n8n.git
synced 2026-06-01 17:27:14 +02:00
ci: support list-style ci-filter patterns (#29137)
Co-authored-by: Declan Carroll <declan@n8n.io>
This commit is contained in:
parent
83671a1db6
commit
a07726acb9
|
|
@ -93,6 +93,14 @@ describe('parseFilters', () => {
|
|||
assert.deepEqual(filters.get('non-python'), ['**', '!packages/@n8n/task-runner-python/**']);
|
||||
});
|
||||
|
||||
it('parses YAML-list-style multi-line filter', () => {
|
||||
const input = `db:
|
||||
- packages/@n8n/db/**
|
||||
- packages/cli/**`;
|
||||
const filters = parseFilters(input);
|
||||
assert.deepEqual(filters.get('db'), ['packages/@n8n/db/**', 'packages/cli/**']);
|
||||
});
|
||||
|
||||
it('parses mixed single and multi-line', () => {
|
||||
const input = `non-python:
|
||||
**
|
||||
|
|
@ -159,6 +167,13 @@ describe('evaluateFilter', () => {
|
|||
assert.equal(evaluateFilter(files, patterns), true);
|
||||
});
|
||||
|
||||
it('list-style parsed db filter matches db package changes', () => {
|
||||
const filters = parseFilters(`db:
|
||||
- packages/@n8n/db/**
|
||||
- packages/cli/**`);
|
||||
assert.equal(evaluateFilter(['packages/@n8n/db/src/index.ts'], filters.get('db') ?? []), true);
|
||||
});
|
||||
|
||||
it('non-.github files with workflows filter returns false', () => {
|
||||
const files = ['packages/cli/src/index.ts'];
|
||||
const patterns = ['.github/**'];
|
||||
|
|
|
|||
3
.github/actions/ci-filter/ci-filter.mjs
vendored
3
.github/actions/ci-filter/ci-filter.mjs
vendored
|
|
@ -74,7 +74,8 @@ export function parseFilters(input) {
|
|||
|
||||
if (currentFilter && rawLine.match(/^\s/)) {
|
||||
const patterns = filters.get(currentFilter);
|
||||
if (patterns) patterns.push(line);
|
||||
const pattern = line.startsWith('- ') ? line.slice(2).trim() : line;
|
||||
if (patterns && pattern) patterns.push(pattern);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user