diff --git a/.gitignore b/.gitignore index c4d0656bfb..c00fe1c227 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ /compiler/vendor /conf/config.local.yml /build-cs +/build-infection +/infection.json5 /vendor /.idea/* !.idea/icon.png diff --git a/Makefile b/Makefile index e104ac7c19..fd6aee57c0 100644 --- a/Makefile +++ b/Makefile @@ -165,3 +165,21 @@ name-collision: composer-dependency-analyser: php vendor/bin/composer-dependency-analyser --config build/composer-dependency-analyser.php + +.PHONY: infection +infection: + git -C build-infection pull || git clone https://github.com/phpstan/build-infection.git + git -C build-infection fetch origin && git -C build-infection reset --hard origin/1.x + composer install --working-dir build-infection --no-interaction --no-progress + php build-infection/bin/infection-config.php --source-directory='build/PHPStan/Build'> infection.json5 + XDEBUG_MODE=coverage php tests/vendor/bin/paratest \ + --coverage-xml=tmp/coverage/coverage-xml \ + --log-junit=tmp/coverage/junit.xml + php build-infection/vendor/bin/infection \ + --configuration=infection.json5 \ + --git-diff-base=origin/HEAD \ + --git-diff-lines \ + --coverage=tmp/coverage \ + --skip-initial-tests \ + --ignore-msi-with-no-mutations \ + --logger-text=php://stdout