language: php

dist: bionic

php:
  - 7.2
  - 7.3
  - 7.4
  - nightly

matrix:
  allow_failures:
    - php: nightly
  fast_finish: true

env:
  matrix:
    - DEPENDENCIES="high"
    - DEPENDENCIES="low"
  global:
    - DEFAULT_COMPOSER_FLAGS="--no-interaction --no-ansi --no-progress --no-suggest"

before_install:
  - ./tools/composer clear-cache

install:
  - if [[ "$DEPENDENCIES" = 'high' ]]; then travis_retry ./tools/composer update $DEFAULT_COMPOSER_FLAGS; fi
  - if [[ "$DEPENDENCIES" = 'low' ]]; then travis_retry ./tools/composer update $DEFAULT_COMPOSER_FLAGS --prefer-lowest; fi

before_script:
  - echo 'zend.assertions=1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
  - echo 'assert.exception=On' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini

script:
  - ./phpunit --coverage-clover=coverage.xml

after_success:
  - bash <(curl -s https://codecov.io/bash)

notifications:
  email: false
