language: php sudo: false cache: directories: - $HOME/.composer/cache/files php: - 7.1 - 7.2 - 7.3 branches: except: - /^analysis-.*$/ - /^patch-.*$/ env: - TEST_COMMAND="composer test" matrix: fast_finish: true include: - php: 7.1 env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" PREFER_COVERAGE=true - name: Backward compatibility test (Disabled) php: 7.3 env: DEPENDENCIES="roave/backward-compatibility-check" script: ./vendor/bin/roave-backward-compatibility-check || true - name: PHPStan php: 7.2 env: DEPENDENCIES="phpstan/phpstan phpstan/phpstan-webmozart-assert" script: ./vendor/bin/phpstan analyse src before_install: - if [[ "$PREFER_COVERAGE" = true ]] && [[ "$TRAVIS_PULL_REQUEST" = false ]]; then TEST_COMMAND="composer test-coverage" COVERAGE=true; fi - if ! [ -z "$DEPENDENCIES" ]; then composer require --no-update ${DEPENDENCIES}; fi; install: - composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction script: - composer validate --strict --no-check-lock - echo $TEST_COMMAND - $TEST_COMMAND after_success: - if [[ "$COVERAGE" = true ]]; then wget https://scrutinizer-ci.com/ocular.phar; fi - if [[ "$COVERAGE" = true ]]; then php ocular.phar code-coverage:upload --format=php-clover build/coverage.xml; fi