language: php

sudo: false

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

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

env:
  - DB=mysql
  - DB=pgsql POSTGRESQL_VERSION=9.1
  - DB=pgsql POSTGRESQL_VERSION=9.2
  - DB=pgsql POSTGRESQL_VERSION=9.3
  - DB=pgsql POSTGRESQL_VERSION=9.4
  - DB=sqlite
  - DB=mysqli

install:
  - travis_retry composer install

before_script:
  - if [ '$DB' = 'pgsql' ]; then sudo service postgresql stop; sudo service postgresql start $POSTGRESQL_VERSION; fi

script: ./vendor/bin/phpunit --configuration tests/travis/$DB.travis.xml

matrix:
  fast_finish: true
  include:
    - php: 5.4
      env: DB=mariadb
      addons:
        mariadb: 5.5
    - php: 5.5
      env: DB=mariadb
      addons:
        mariadb: 5.5
    - php: 5.6
      env: DB=mariadb
      addons:
        mariadb: 5.5
    - php: 7.0
      env: DB=mariadb
      addons:
        mariadb: 5.5
    - php: hhvm
      env: DB=mariadb
      addons:
        mariadb: 5.5

    - php: 5.4
      env: DB=mariadb
      addons:
        mariadb: 10.0
    - php: 5.5
      env: DB=mariadb
      addons:
        mariadb: 10.0
    - php: 5.6
      env: DB=mariadb
      addons:
        mariadb: 10.0
    - php: 7.0
      env: DB=mariadb
      addons:
        mariadb: 10.0
    - php: hhvm
      env: DB=mariadb
      addons:
        mariadb: 10.0

    - php: 5.4
      env: DB=mariadb
      addons:
        mariadb: 10.1
    - php: 5.5
      env: DB=mariadb
      addons:
        mariadb: 10.1
    - php: 5.6
      env: DB=mariadb
      addons:
        mariadb: 10.1
    - php: 7.0
      env: DB=mariadb
      addons:
        mariadb: 10.1
    - php: hhvm
      env: DB=mariadb
      addons:
        mariadb: 10.1
  allow_failures:
    - php: hhvm
  exclude:
    - php: hhvm
      env: DB=pgsql POSTGRESQL_VERSION=9.1 # driver currently unsupported by HHVM
    - php: hhvm
      env: DB=pgsql POSTGRESQL_VERSION=9.2 # driver currently unsupported by HHVM
    - php: hhvm
      env: DB=pgsql POSTGRESQL_VERSION=9.3 # driver currently unsupported by HHVM
    - php: hhvm
      env: DB=pgsql POSTGRESQL_VERSION=9.4 # driver currently unsupported by HHVM

addons:
  postgresql: '9.4'