fix(workflows): exclude abstract test base classes from Mage-OS suite#373
Merged
mage-os-ci merged 1 commit intoMay 17, 2026
Conversation
PHPUnit 12 treats discovered Abstract*Test.php files as runner warnings, which the integration job interprets as exit code 1 even when all concrete tests pass. Generate <exclude> entries for any Abstract*Test.php inside the included shards. Also fix unescaped backticks in the trailing echo so bash no longer logs "integrationIgnore: command not found".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Abstract*Test.phpfiles as runner warnings ("Class ... is abstract"). The integration job interprets the resulting non-zero PHPUnit exit code as a failure even when every concrete test in the shard passes.mage-os/mageos-magento2(run 25978664094), ~17 of 29 failed jobs are caused entirely by this — for exampleTestModuleOverrideConfig,GraphQlCache,Customer,Swatches,Test (Integrity),PaypalGraphQl,CatalogUrlRewrite,LayeredNavigation, severalCatalogshards, and theSales/Bundleshards. Test output looks likeOK, but there were issues!.<exclude>entries for anyAbstract*Test.phpinside the included<directory>shards so only concrete tests load. Single-file shards (*.phpmatrix entries) are skipped.echofor theintegrationIgnoregroup had unescaped backticks, causing bash to executeintegrationIgnoreas a command and logintegrationIgnore: command not foundin every job. Quoted with single quotes.Test plan
Integration Tests - Full Test Suiteon a branch ofmage-os/mageos-magento2(e.g.release/3.x) and confirm the previously-failing abstract-only jobs now pass.Run Integration Tests for Modulesstep no longer logsintegrationIgnore: command not found.phpunit.xml.dist(printed bycat $FILE) includes<exclude>entries for the expected Abstract*Test.php files.🤖 Generated with Claude Code