language: php

matrix:
    include:
        - php: 5.6
        - php: 7.0
        - php: 7.1
        - php: 7.2
        - php: nightly
        - php: hhvm-3.6
          sudo: required
          dist: trusty
          group: edge
        - php: hhvm-3.9
          sudo: required
          dist: trusty
          group: edge
        - php: hhvm-3.12
          sudo: required
          dist: trusty
          group: edge
        - php: hhvm-3.15
          sudo: required
          dist: trusty
          group: edge
        - php: hhvm-nightly
          sudo: required
          dist: trusty
          group: edge
    fast_finish: true
    allow_failures:
        - php: nightly
        - php: hhvm-3.6
        - php: hhvm-3.9
        - php: hhvm-3.12
        - php: hhvm-3.15
        - php: hhvm-nightly

before_script:
  - travis_retry composer self-update
  - travis_retry composer install --no-interaction --prefer-source --dev
  - travis_retry phpenv rehash

script:
  - ./vendor/bin/phpcs --standard=psr2 src/
  - ./vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover

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