language: php

sudo: false

matrix:
  include:
    - php: 5.5.9
    - php: 5.5
    - php: 5.5
      env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable'
    - php: 5.6
    - php: 5.6
      env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable'
    - php: 7.0
    - php: 7.0
      env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable'
    - php: 7.1
    - php: 7.1
      env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable'
    - php: hhvm
    - php: nightly
  allow_failures:
    - php: nightly
  fast_finish: true

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

before_install:
  - travis_retry composer self-update && composer --version

install:
  - travis_retry composer update $COMPOSER_FLAGS --prefer-source -n

script: vendor/bin/phpunit --verbose --coverage-clover=coverage.clover

after_script:
  - sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi;'

notifications:
  webhooks:
    urls:
      - https://webhooks.gitter.im/e/fc8ccb3e96abeb0fdc95
    on_success: change
    on_failure: always
    on_start: never
