-
Notifications
You must be signed in to change notification settings - Fork 12
/
.travis.yml
63 lines (56 loc) · 1.88 KB
/
.travis.yml
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
56
57
58
59
60
61
62
63
language: php
dist: bionic # https://docs.travis-ci.com/user/reference/overview/#which-one-do-i-use
stages:
- smoke test 🕵️
- test
jobs:
include:
- stage: smoke test 🕵️
php: 7.3
env: DEPS='lowest'
-
php: 8.1
env: DEPS='unmodified'
- stage: test
php: 7.4
env: SYMFONY_VERSION='4.4.*'
-
php: 7.4
env: SYMFONY_VERSION='5.4.*'
fast_finish: true
install:
# set unlimited memory_limit
- INI_FILE=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- echo "memory_limit = -1" >> "${INI_FILE}"
# disable Xdebug for better Composer performance
- if php -v | grep -q 'Xdebug'; then phpenv config-rm xdebug.ini; fi;
# install dependencies using Composer
- travis_wait bash .travis_install_dependencies.sh
# show installed dependencies
- composer show
before_script:
# create folder for code coverage data
- mkdir -p build/logs
# install PCOV extension for quick code coverage analysis
- pecl install pcov
script:
# validate composer.json
- composer validate --strict --no-check-lock
# run PHPUnit
- php vendor/phpunit/phpunit/phpunit -v --coverage-clover build/logs/clover.xml
# upload code coverage data
- |
if [ "${TRAVIS_REPO_SLUG}" = "craue/CraueFormFlowDemoBundle" ]; then
PHP_COVERALLS_VERSION=`curl --retry 5 -Is https://github.com/php-coveralls/php-coveralls/releases/latest | grep -i 'Location:' | sed 's/.*\/tag\/\(.*\)$/\1/' | tr -d "[:cntrl:]"`
echo "using php-coveralls '${PHP_COVERALLS_VERSION}'"
travis_retry wget -q "https://github.com/php-coveralls/php-coveralls/releases/download/${PHP_COVERALLS_VERSION}/php-coveralls.phar" -O php-coveralls.phar
travis_retry php php-coveralls.phar -v
fi
notifications:
email:
on_success: always
on_failure: always
# cache Composer's package cache
cache:
directories:
- $HOME/.composer/cache/files