language: php
sudo: false
dist: trusty

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

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

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

matrix:
    fast_finish: true
    allow_failures:
        - php: hhvm

    include:
        - php: 5.6
          env: SYMFONY_VERSION=2.7.*
        - php: 7.1
          env: SYMFONY_VERSION=2.7.*
        - php: 7.2
          env: SYMFONY_VERSION=2.7.*
        - php: 7.1
          env: SYMFONY_VERSION=2.8.*
        - php: 7.2
          env: SYMFONY_VERSION=2.8.*
        - php: 5.6
          env: SYMFONY_VERSION=^3.0
        - php: 7.1
          env: SYMFONY_VERSION=^3.0
        - php: 7.2
          env: SYMFONY_VERSION=^3.0
        - php: 7.1
          env: SYMFONY_VERSION=^4.0
        - php: 7.2
          env: SYMFONY_VERSION=^4.0

before_install:
    - travis_retry composer self-update

install:
    - composer require symfony/symfony:${SYMFONY_VERSION} --no-update
    - COMPOSER_MEMORY_LIMIT=-1 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
