language: php
sudo: false
git:
    depth: 2
cache:
    directories:
        - $HOME/.composer/cache
matrix:
    fast_finish: true
    allow_failures:
        - php: nightly
    include:
        - php: 7.1
        - php: 7.2
        - php: 7.3
        - php: 7.4
        - php: nightly
before_script:
    - php --version
    - travis_retry wget https://scrutinizer-ci.com/ocular.phar
    - travis_retry composer self-update
    - if [ "$(phpenv version-name)" == 7.3 ]; then travis_retry composer require phpstan/phpstan; fi
    - travis_retry composer require php-coveralls/php-coveralls
    - travis_retry composer install --prefer-dist --no-interaction
    - composer dump-autoload -o
script:
    - mkdir -p build/logs
    - php vendor/bin/phpunit -c phpunit.xml
    - if [ "$(phpenv version-name)" == 7.3 ]; then php vendor/bin/phpstan analyse; fi
after_script:
    - php vendor/bin/php-coveralls -v
    - php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml
    - bash <(curl -s https://codecov.io/bash) 
  |