summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 040590cac9702a81ba11b71605aed95f8e3d40fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
language: php
services:
  - mysql
env:
  # composer install (uses lock file)
  #
  # The lock file is only used by developers of the library and ensures
  # a sane dev environment.
  #
  # Everything below local dev PHP version _or_ platform req expected to fail
  - DEPS='lock'
  # composer update --prefer-lowest
  #
  # Ensures that the lowest possible versions will work
  #
  - DEPS='low'
  # composer update
  #
  # This uses the latest possible dependencies for the given PHP version.
  #
  # If a platform requirement is set, this may not be actual latest versions
  # and they may be incompatible with newer PHP versions if the PHP requirement is
  # lax (e.g. >=5.3.6 and a platform of 5.3.6 running on 7.0 which doesn't include
  # necessary bug fixes for 7.0)
  - DEPS='high'
matrix:
  include:
    - php: 7.1
    - php: 7.2
    - php: 7.3
    - php: 7.4
    - php: nightly
  fast_finish: true
  allow_failures:
    # PHP nightly may fail in all configuration
    - php: nightly
    # PHP < dev version may fail with composer.lock
    # Currently running PHP 7.4
    - php: 7.1
      env: DEPS='lock'
    - php: 7.2
      env: DEPS='lock'
    - php: 7.3
      env: DEPS='lock'

sudo: false
before_install:
  - composer self-update
install:
  - if [ "$DEPS" == "lock" ]; then travis_retry composer install --no-interaction --prefer-source; fi;
  - if [ "$DEPS" == "dev" ];  then travis_retry composer update --minimum-stability=dev --no-interaction --prefer-source; fi;
  - if [ "$DEPS" == "low" ];  then travis_retry composer update --prefer-lowest --no-interaction --prefer-source; fi;
  - if [ "$DEPS" == "high" ];  then travis_retry composer update --no-interaction --prefer-source; fi;
script: php vendor/bin/phpunit
after_script: if (( `php -r 'echo substr(PHP_VERSION_ID, 0, -2);'` == 704 )); then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover build/coverage/coverage.clover; fi;