dist: trusty
language: php
sudo: false

matrix:
  fast_finish: true
  include:
    - php: 5.4
    - php: 5.5
    - php: 5.6
    - php: 7.0
    - php: 7.1
    - php: 7.2
    - php: nightly
    - php: hhvm

  allow_failures:
    - php: hhvm
    - php: nightly

before_install:
  # Speed up build time by disabling Xdebug when its not needed.
  - phpenv config-rm xdebug.ini || echo 'No xdebug config.'
  # Circumvent a bug in the travis HHVM image - ships with incompatible PHPUnit.
  - if [[ $TRAVIS_PHP_VERSION == hhv* ]]; then composer self-update; fi
  - if [[ $TRAVIS_PHP_VERSION == hhv* ]]; then composer require phpunit/phpunit:~4.0; fi
  - if [[ $TRAVIS_PHP_VERSION == hhv* ]]; then composer install; fi

before_script:
  # We don't have a composer.lock file because we always want to test with
  # latest dependencies.
  - composer install

script:
  - ./vendor/bin/phpunit
  - ./vendor/bin/phpcs -p
  - ./vendor/bin/phpcs -p --standard=coder_sniffer/Drupal/Test/phpcs-ruleset.xml coder_sniffer/Drupal/Test/good/ --ignore=coder_sniffer/Drupal/Test/good/GoodUnitTest.php
