@@ -16,43 +16,92 @@ matrix:
16
16
include :
17
17
- php : ' 7.0'
18
18
- php : ' 7.1'
19
+ - php : ' 7.2'
19
20
- php : ' 7.2'
20
21
env : lint=1
21
22
- php : ' 7.2'
22
23
env : deps=low
24
+ - php : ' 7.2'
25
+ env : coverage=1
23
26
- php : ' 7.2'
24
27
env : SYMFONY_DEPRECATIONS_HELPER=0
25
28
- php : ' 7.2'
26
29
services :
27
- - postgresql
30
+ - postgresql
28
31
before_script :
29
- - psql -c 'create database api_platform_test;' -U postgres
32
+ - psql -c 'create database api_platform_test;' -U postgres
30
33
env : APP_ENV=postgres
31
34
- php : ' 7.2'
32
35
services :
33
- - mysql
36
+ - mysql
34
37
before_script :
35
- - mysql -e 'CREATE DATABASE api_platform_test;'
38
+ - mysql -e 'CREATE DATABASE api_platform_test;'
36
39
env : APP_ENV=mysql
37
40
allow_failures :
38
41
env : SYMFONY_DEPRECATIONS_HELPER=0
39
42
40
43
before_install :
41
44
- phpenv config-rm xdebug.ini || echo "xdebug not available"
42
45
- echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
43
- - npm install -g swagger-cli
44
- - if [[ $lint = 1 ]]; then wget https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.8.2/php-cs-fixer.phar; fi
45
- - if [[ $lint = 1 ]]; then composer global require --dev 'phpstan/phpstan:^0.8'; fi
46
+ - if [[ $coverage != 1 && $lint != 1 ]]; then
47
+ npm install -g swagger-cli;
48
+ fi
49
+ - if [[ $coverage = 1 ]]; then
50
+ mkdir -p build/logs build/cov;
51
+ fi
52
+ - if [[ $coverage = 1 ]]; then
53
+ wget https://phar.phpunit.de/phpcov.phar;
54
+ fi
55
+ - if [[ $coverage = 1 ]]; then
56
+ wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar;
57
+ fi
58
+ - if [[ $lint = 1 ]]; then
59
+ wget https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.8.4/php-cs-fixer.phar;
60
+ fi
61
+ - if [[ $lint = 1 ]]; then
62
+ composer global require --dev 'phpstan/phpstan:^0.8';
63
+ fi
46
64
- export PATH="$PATH:$HOME/.composer/vendor/bin"
47
65
48
66
install :
49
- - if [[ $deps != 'low' ]]; then composer update --prefer-dist --no-progress --no-suggest --ansi; fi
50
- - if [[ $deps = 'low' ]]; then composer update --prefer-dist --no-progress --no-suggest --prefer-stable --prefer-lowest --ansi; fi
67
+ - if [[ $coverage = 1 ]]; then
68
+ composer require --dev --no-update 'phpunit/php-code-coverage:^5.2.2';
69
+ fi
70
+ - if [[ $deps = 'low' ]]; then
71
+ composer update --prefer-dist --no-progress --no-suggest --prefer-stable --prefer-lowest --ansi;
72
+ else
73
+ composer update --prefer-dist --no-progress --no-suggest --ansi;
74
+ fi
51
75
52
76
script :
53
- - vendor/bin/phpunit
54
- - if [[ $APP_ENV != 'postgres' ]]; then vendor/bin/behat --suite=default --format=progress; fi
55
- - if [[ $APP_ENV = 'postgres' ]]; then vendor/bin/behat --suite=postgres --format=progress; fi
56
- - tests/Fixtures/app/console api:swagger:export > swagger.json && swagger-cli validate swagger.json && rm swagger.json
57
- - if [[ $lint = 1 ]]; then php php-cs-fixer.phar fix --dry-run --diff --no-ansi; fi
58
- - if [[ $lint = 1 ]]; then phpstan analyse -c phpstan.neon -l5 --ansi src tests; fi
77
+ - if [[ $coverage = 1 ]]; then
78
+ phpdbg -qrr vendor/bin/phpunit --coverage-php build/cov/coverage-phpunit.cov;
79
+ elif [[ $lint != 1 ]]; then
80
+ vendor/bin/phpunit;
81
+ fi
82
+ - if [[ $coverage = 1 ]]; then
83
+ for f in $(find features -name '*.feature' -not -path 'features/main/exposed_state.feature'); do
84
+ FEATURE=${f//\//_} phpdbg -qrr vendor/bin/behat --profile=coverage --suite=default --tags=~@postgress --format=progress $f || exit $?;
85
+ done;
86
+ elif [[ $APP_ENV = 'postgres' ]]; then
87
+ vendor/bin/behat --suite=postgres --format=progress;
88
+ elif [[ $lint != 1 ]]; then
89
+ vendor/bin/behat --suite=default --format=progress;
90
+ fi
91
+ - if [[ $coverage = 1 ]]; then
92
+ phpdbg -qrr phpcov.phar merge --clover build/logs/clover.xml build/cov;
93
+ fi
94
+ - if [[ $coverage != 1 && $lint != 1 ]]; then
95
+ tests/Fixtures/app/console api:swagger:export > swagger.json && swagger-cli validate swagger.json && rm swagger.json;
96
+ fi
97
+ - if [[ $lint = 1 ]]; then
98
+ php php-cs-fixer.phar fix --dry-run --diff --no-ansi;
99
+ fi
100
+ - if [[ $lint = 1 ]]; then
101
+ phpstan analyse -c phpstan.neon -l5 --ansi src tests;
102
+ fi
103
+
104
+ after_success :
105
+ - if [[ $coverage = 1 ]]; then
106
+ travis_retry php coveralls.phar;
107
+ fi
0 commit comments