'/.*Yii2.*/', 'Lumen' => '/.*(Lumen|LaravelCommon).*/', 'Laravel' => '/.*Laravel.*/', 'Phalcon' => '/.*Phalcon.*/', 'Symfony' => '/.*Symfony.*/', 'Yii1' => '/.*Yii1.*/', 'ZendExpressive' => '/.*ZendExpressive.*/', 'Zend1' => '/.*ZF1.*/', 'Zend2' => '/.*ZF2.*/', ]; // First check if changes include files that are not framework files. $frameworkOnly = true; $frameworks = []; foreach ($files as $file) { $match = false; foreach ($regexes as $framework => $regex) { if (preg_match($regex, $file)) { $match = true; $frameworks[$framework] = $framework; break; } } if (!$match) { $frameworkOnly = false; break; } } if ($frameworkOnly) { stderr('Changes limited to frameworks: ' . implode(', ', $frameworks)); if (!isset($frameworks[$currentFramework])) { stderr("Skipping test for framework: $currentFramework"); echo "export FRAMEWORK=\n"; echo "export PECL=\n"; echo "export FXP=\n"; echo "export CI_USER_TOKEN=\n"; } }