language: php

services:
  - memcached

env:
  global:
    - MEMCACHE_HOST=127.0.0.1
    - MEMCACHE_PORT=11211

sudo: false

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

matrix:
  fast_finish: true
  include:
    - php: 5.5
    - php: 5.6
    - php: 7.0
      env: PHPCS=true
    - php: hhvm


before_install:
  - composer self-update

install:
  - travis_retry composer install --no-interaction

before_script:
  - sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then echo "extension=memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;'
  - sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then echo "extension=memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;'
  - phpenv version-name | grep ^5.[34] && echo "extension=apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true
  - phpenv version-name | grep ^5.[34] && echo "apc.enable_cli=1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true


script:
  - vendor/bin/phpunit
  - if [[ "$PHPCS" == "true" ]]; then vendor/bin/phpcs src --standard=build/phpcs/ruleset.xml -np; fi


notifications:
    on_success: never
    on_failure: always