language: php

sudo: false

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

php:
  - 5.3
  - 5.4
  - 5.5
  - 5.6
  - 7.0
  - hhvm

env:
    global:
        - TEST_COMMAND="./vendor/bin/phpunit"
    matrix:
        - SYMFONY_VERSION=2.8.*

matrix:
    fast_finish: true
    allow_failures:
        - php: hhvm

    include:
        - php: 5.3
          env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" SYMFONY_VERSION=2.3.0 COVERAGE=true TEST_COMMAND="./vendor/bin/phpunit --coverage-text --coverage-clover=build/coverage.xml"
        - php: 5.6
          env: SYMFONY_VERSION=2.3.*
        - php: 5.6
          env: SYMFONY_VERSION=2.7.*
        - php: 5.6
          env: SYMFONY_VERSION=3.0.*

before_install:
    - travis_retry composer self-update

install:
    - composer require symfony/symfony:${SYMFONY_VERSION} --no-update
    - composer update ${COMPOSER_FLAGS} --prefer-source --no-interaction

script:
    - $TEST_COMMAND

after_success:
    - if [[ "$COVERAGE" = true ]]; then wget https://scrutinizer-ci.com/ocular.phar; fi
    - if [[ "$COVERAGE" = true ]]; then php ocular.phar code-coverage:upload --format=php-clover build/coverage.xml; fi
