language: php

sudo: false

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

php:
    - 5.5
    - 5.6
    - 7.0
    - hhvm

services:
    - riak
    - mongodb
    - memcached
    - redis-server

before_install:
    - if [[ $TRAVIS_PHP_VERSION != 'hhvm' ]] ; then pecl channel-update pecl.php.net; fi;
    - if [[ $TRAVIS_PHP_VERSION != 'hhvm' && $TRAVIS_PHP_VERSION != '7.0' ]]; then pecl install riak-beta; fi;
    - if [[ $TRAVIS_PHP_VERSION =~ 5.[56] ]] ; then echo yes | pecl install apcu-4.0.10; fi;
    - if [[ $TRAVIS_PHP_VERSION = 7.* ]] ; then pecl config-set preferred_state beta; echo yes | pecl install apcu; fi;
    - if [[ $TRAVIS_PHP_VERSION != 'hhvm' ]]; then phpenv config-add ./tests/travis/php.ini; fi;
    - if [[ $TRAVIS_PHP_VERSION = '5.6' ]]; then PHPUNIT_FLAGS="--coverage-clover clover.xml"; fi

install:
    - travis_retry composer install

script:
    - ./vendor/bin/phpunit -c ./tests/travis/phpunit.travis.xml -v $PHPUNIT_FLAGS

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

matrix:
    fast_finish: true
    allow_failures:
        - php: hhvm
        - php: 7.0
