language: php

php:
  - hhvm

sudo: false

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

env:
  global:
    - PATH="$HOME/.composer/vendor/bin:$PATH"
    - SYMFONY_DEPRECATIONS_HELPER=weak

matrix:
  fast_finish: true
  include:
    - php: 5.6
    - php: 5.3
      env: SYMFONY_VERSION=2.8.*
    - php: 5.4
      env: SYMFONY_VERSION=2.8.*
    - php: 5.6
      env: SYMFONY_VERSION=2.8.* CS_FIXER=run
    - php: 5.3
      env: COMPOSER_FLAGS="--prefer-lowest"
    - php: 5.6
      env: SYMFONY_VERSION=2.3.*
    - php: 5.6
      env: SYMFONY_VERSION=2.7.*
    - php: 5.6
      env: SYMFONY_VERSION=2.8.*
    - php: 5.5
      env: SYMFONY_VERSION="3.0.*" ACL_VERSION="dev-master"
    - php: 5.6
      env: SYMFONY_VERSION="3.0.*" ACL_VERSION="dev-master"
    - php: 7.0
      env: SYMFONY_VERSION="3.0.*" ACL_VERSION="dev-master"

  allow_failures:
    - php: hhvm

before_script:
  - (phpenv config-rm xdebug.ini || exit 0)
  - mkdir -p ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d && echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
  - composer selfupdate
  - composer config -q -g github-oauth.github.com $GITHUB_OAUTH_TOKEN
  - composer global require phpunit/phpunit:@stable fabpot/php-cs-fixer --no-update
  - composer global update --prefer-dist --no-interaction
  - if [ "$SYMFONY_VERSION" != "" ]; then composer require "symfony/symfony:${SYMFONY_VERSION}" --no-update; fi;
  - if [ "$ACL_VERSION" != "" ]; then composer require "symfony/security-acl:${ACL_VERSION}" --no-update; fi;
  - travis_wait composer update --prefer-dist --no-interaction $COMPOSER_FLAGS
  - export PATH=$HOME/.local/bin:$PATH
  - pip install -r Resources/doc/requirements.txt --user `whoami`

script:
 - if [ "$CS_FIXER" = "run" ]; then make cs_dry_run ; fi;
 - make test

notifications:
  webhooks: https://sonata-project.org/bundles/datagrid/master/travis
