language: php sudo: false cache: directories: - $HOME/.composer/cache/files - $HOME/symfony-bridge/.phpunit env: global: - PHPUNIT_FLAGS="-v" - SYMFONY_PHPUNIT_DIR="$HOME/symfony-bridge/.phpunit" matrix: fast_finish: true include: # Minimum supported dependencies with the latest and oldest PHP version - php: 7.3 env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" SYMFONY_DEPRECATIONS_HELPER="weak_vendors" - php: 5.6 env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" SYMFONY_DEPRECATIONS_HELPER="weak_vendors" # Test the latest stable release - php: 5.6 - php: 7.0 - php: 7.1 - php: 7.2 - php: 7.3 env: COVERAGE=true PHPUNIT_FLAGS="-v --coverage-text" LINT=true # Test LTS versions. This makes sure we do not use Symfony packages with version greater # than 2 or 3 respectively. Read more at https://github.com/symfony/lts - php: 7.3 env: DEPENDENCIES="symfony/lts:^2" - php: 7.3 env: DEPENDENCIES="symfony/lts:^3" # Latest commit to master - php: 7.3 env: STABILITY="dev" - php: 7.4 env: STABILITY="dev" - php: nightly env: STABILITY="dev" allow_failures: # Dev-master is allowed to fail. - env: STABILITY="dev" before_install: - if [[ $COVERAGE != true ]]; then phpenv config-rm xdebug.ini || true; fi - if ! [ -z "$STABILITY" ]; then composer config minimum-stability ${STABILITY}; fi; - if ! [ -v "$DEPENDENCIES" ]; then composer require --no-update ${DEPENDENCIES}; fi; - if [[ $LINT = true ]]; then wget https://cs.symfony.com/download/php-cs-fixer-v2.phar; fi install: - composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction - ./vendor/bin/simple-phpunit install script: - composer validate --strict --no-check-lock - if [[ $LINT = true ]]; then php php-cs-fixer-v2.phar fix --dry-run --diff --no-ansi; fi # simple-phpunit is the PHPUnit wrapper provided by the PHPUnit Bridge component and # it helps with testing legacy code and deprecations (composer require symfony/phpunit-bridge) - ./vendor/bin/simple-phpunit $PHPUNIT_FLAGS after_script: - wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover coverage.clover