| language: php
sudo: false
cache:
    directories:
        - $HOME/.composer/cache/files
env:
    global:
        - PHPUNIT_FLAGS="-v"
matrix:
    fast_finish: true
    include:
          # Minimum supported dependencies with the latest and oldest PHP version
        - php: 7.2
        - php: 7.3
          env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" SYMFONY_DEPRECATIONS_HELPER="weak_vendors"
          # Test the latest stable release
        - php: 7.2
        - php: 7.3
          env: COVERAGE=true PHPUNIT_FLAGS="-v --coverage-text"
          # Latest commit to master
        - php: 7.2
        - php: 7.3
          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;
install:
    - composer install
    - ./bin/phpunit install
script:
    - composer validate --no-check-lock
    # 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)
    - ./bin/phpunit $PHPUNIT_FLAGS
 |