Skip to content

Commit b037a47

Browse files
rhoerrclaude
andcommitted
fix(workflows): also filter abstract test base classes out of matrix shards
The "Create Mage-OS testsuite" step already excludes Abstract*Test.php / *AbstractTest.php files discovered under <directory> entries, but EXCLUSION_LIST modules (Catalog, Bundle, Sales, AsynchronousOperations) are pre-expanded in matrix-calculator to comma-separated lists of individual *.php files that land as <file> entries — bypassing the directory-side filter and tripping PHPUnit 12 "abstract class" runner warnings (exit 1). Filter at the find(1) call so abstract files never enter the matrix in the first place. Keeps the directory-side exclude loop authoritative for the non-EXCLUSION_LIST shards. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent bded228 commit b037a47

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

.github/workflows/full-integration-tests.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ jobs:
115115
116116
# Handle exclusion list
117117
# run over EXCLUSION_LIST, find all "*Test.php" files, and put them in array. Exclude directories.
118+
# Skip abstract test base classes (Abstract*Test.php / *AbstractTest.php) — PHPUnit 12
119+
# treats loading an abstract class as a runner warning, which produces exit 1.
118120
EXCLUSION_LIST_FILES=()
119121
for dir in "${EXCLUSION_LIST[@]}"; do
120122
while IFS= read -r -d '' file; do
@@ -123,7 +125,8 @@ jobs:
123125
continue
124126
fi
125127
EXCLUSION_LIST_FILES+=("$file")
126-
done < <(find "$dir" -mindepth 1 -type f -name '*Test.php' -print0)
128+
done < <(find "$dir" -mindepth 1 -type f -name '*Test.php' \
129+
! -name 'Abstract*Test.php' ! -name '*AbstractTest.php' -print0)
127130
done
128131
129132
## run over EXCLUSION_LIST_FILES and call add_dir_to_line for each file

0 commit comments

Comments
 (0)