diff --git a/.gitignore b/.gitignore index 7a35199..a62ffa5 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ tmp-phpqa coverage coverage.xml +infection.log composer.lock vendor diff --git a/.travis.yml b/.travis.yml index bbc76bc..abbaad6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,8 @@ before_script: script: - vendor/bin/phpunit --coverage-text - vendor/bin/psalm --threads=8 --no-cache + - vendor/bin/infection + - cat infection.log matrix: allow_failures: diff --git a/Makefile b/Makefile index 3fc5ecd..eeaa4cf 100644 --- a/Makefile +++ b/Makefile @@ -1,27 +1,30 @@ composer-install: - PHP_VERSION=7.4 docker-compose run --rm composer composer install + PHP_VERSION=74 docker-compose run --rm composer composer install composer-update: - PHP_VERSION=7.4 docker-compose run --rm composer composer update + PHP_VERSION=74 docker-compose run --rm composer composer update composer-require: - PHP_VERSION=7.4 docker-compose run --rm composer composer require ${PACKAGE} + PHP_VERSION=74 docker-compose run --rm composer composer require ${PACKAGE} composer-require-dev: - PHP_VERSION=7.4 docker-compose run --rm composer composer require --dev ${PACKAGE} + PHP_VERSION=74 docker-compose run --rm composer composer require --dev ${PACKAGE} test: test-phpunit test-phpunit: - PHP_VERSION=7.4 docker-compose run --rm php php -v - PHP_VERSION=7.4 docker-compose run --rm php php vendor/bin/phpunit --coverage-text - PHP_VERSION=7.4 docker-compose run --rm php php vendor/bin/psalm --no-cache + PHP_VERSION=74 docker-compose run --rm php php -v + PHP_VERSION=74 docker-compose run --rm php php vendor/bin/phpunit --coverage-text + make qa-psalm + make qa-infection test-phpunit-local: php -v php vendor/bin/phpunit --coverage-text + php vendor/bin/psalm --no-cache + php vendor/bin/infection travis: - PHP_VERSION=7.1.3 make travis-job - PHP_VERSION=7.2 make travis-job - PHP_VERSION=7.3 make travis-job - PHP_VERSION=7.4 make travis-job - PHP_VERSION=7.4 docker-compose run --rm composer composer config --unset platform + PHP_VERSION=71 make travis-job + PHP_VERSION=72 make travis-job + PHP_VERSION=73 make travis-job + PHP_VERSION=74 make travis-job + PHP_VERSION=74 docker-compose run --rm composer composer config --unset platform travis-job: docker-compose run --rm composer composer config platform.php ${PHP_VERSION} docker-compose run --rm composer composer update -q @@ -30,7 +33,9 @@ travis-job: PHP_VERSION=${PHP_VERSION} docker-compose run --rm php php vendor/bin/psalm --no-cache qa-psalm: - PHP_VERSION=7.4 docker-compose run --rm php php vendor/bin/psalm --no-cache + PHP_VERSION=74 docker-compose run --rm php php vendor/bin/psalm --no-cache +qa-infection: + PHP_VERSION=74 docker-compose run --rm php php vendor/bin/infection run-php: - PHP_VERSION=7.4 docker-compose run --rm php php ${FILE} + PHP_VERSION=74 docker-compose run --rm php php ${FILE} diff --git a/composer.json b/composer.json index dd4b778..dc903e8 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,8 @@ "hirak/prestissimo": "^0.3.8", "vimeo/psalm": "^3.10", "doctrine/dbal": "^2.9", - "doctrine/orm": "^2.7" + "doctrine/orm": "^2.7", + "infection/infection": ">=0.13" }, "autoload": { "psr-4": { diff --git a/docker-compose.yaml b/docker-compose.yaml index 45b99f9..0f6bf83 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -9,7 +9,7 @@ services: working_dir: /app php: - image: php:${PHP_VERSION} + build: docker/php${PHP_VERSION}-xdebug volumes: - .:/app working_dir: /app diff --git a/docker/php71-xdebug/Dockerfile b/docker/php71-xdebug/Dockerfile new file mode 100644 index 0000000..f69ad0e --- /dev/null +++ b/docker/php71-xdebug/Dockerfile @@ -0,0 +1,3 @@ +FROM php:7.1.3 + +RUN pecl install xdebug && docker-php-ext-enable xdebug diff --git a/docker/php72-xdebug/Dockerfile b/docker/php72-xdebug/Dockerfile new file mode 100644 index 0000000..b5a0175 --- /dev/null +++ b/docker/php72-xdebug/Dockerfile @@ -0,0 +1,3 @@ +FROM php:7.2 + +RUN pecl install xdebug && docker-php-ext-enable xdebug diff --git a/docker/php73-xdebug/Dockerfile b/docker/php73-xdebug/Dockerfile new file mode 100644 index 0000000..b11ddc1 --- /dev/null +++ b/docker/php73-xdebug/Dockerfile @@ -0,0 +1,3 @@ +FROM php:7.3 + +RUN pecl install xdebug && docker-php-ext-enable xdebug diff --git a/docker/php74-xdebug/Dockerfile b/docker/php74-xdebug/Dockerfile new file mode 100644 index 0000000..b67b641 --- /dev/null +++ b/docker/php74-xdebug/Dockerfile @@ -0,0 +1,3 @@ +FROM php:7.4 + +RUN pecl install xdebug && docker-php-ext-enable xdebug diff --git a/infection.json b/infection.json new file mode 100644 index 0000000..10a7278 --- /dev/null +++ b/infection.json @@ -0,0 +1,12 @@ +{ + "source": { + "directories": ["src"] + }, + "logs": { + "text": "infection.log" + }, + "timeout": 10, + "mutators": { + "@default": true + } +}