language: php

sudo: false

cache:
  directories:
    - $HOME/.composer/cache/files

matrix:
  include:
    - php: 5.3
    - php: 5.4
    - php: 5.5
    - php: 5.6
    - php: hhvm
    - php: nightly
    - php: 7.0
      env: COVERAGE=yes
    - php: 7.0
      env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable'
  allow_failures:
    - php: hhvm
    - php: nightly
  fast_finish: true

before_install:
  - if [[ $TRAVIS_PHP_VERSION != hhvm && $COVERAGE != yes ]]; then phpenv config-rm xdebug.ini; fi;
  - if [[ $TRAVIS_REPO_SLUG = webmozart/assert ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
  - composer self-update

install: composer update $COMPOSER_FLAGS --prefer-dist --no-interaction

script: if [[ $COVERAGE = yes ]]; then vendor/bin/phpunit --verbose --coverage-clover=coverage.clover; else vendor/bin/phpunit --verbose; fi

after_script: if [[ $COVERAGE = yes ]]; then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi
