[TASK] Optimize Travis build matrix
[Packages/TYPO3.CMS.git] / .travis.yml
1 language: php
2
3 matrix:
4   allow_failures:
5     - php: hhvm-nightly
6   include:
7     - php: 5.5
8       env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes PHP_LINT=yes XLF_CHECK=yes
9     - php: 5.6
10       env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes PHP_LINT=yes
11     - php: hhvm-nightly
12       env: UNIT_TESTS=yes
13
14 services:
15   - memcached
16   - redis-server
17
18 notifications:
19   irc:
20     channels:
21       - "irc.freenode.net#typo3-cms"
22     on_success: change
23     on_failure: always
24     use_notice: true
25   slack:
26     rooms:
27       secure: a7c9Nw3KblUQsO4np7Sa685y7tqSJ5nSvzO8hnFjKEeQlgkbnC7Qq2TBvVSr92A1UMouL+6E9ngp3cb7rSYWsNKIaHn51CjhrvlfFElTZ0qd/jLVNDf1B765i0txiIZLLed0e3871/151xBgnggsXC4hcv4mPGc9g//ZPabp++E=
28     on_success: change
29     on_failure: always
30
31 before_script:
32   - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
33   - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
34   - sudo apt-get install parallel
35   - composer self-update
36   - composer install
37
38 script:
39   - >
40     if [[ "$UNIT_TESTS" == "yes" ]]; then
41       echo;
42       echo "Running unit tests";
43       ./bin/phpunit --colors -c typo3/sysext/core/Build/UnitTests.xml
44     fi
45   - >
46     if [[ "$FUNCTIONAL_TESTS" == "yes" ]]; then
47         echo;
48         export typo3DatabaseName="typo3";
49         export typo3DatabaseHost="localhost";
50         export typo3DatabaseUsername="root";
51         export typo3DatabasePassword="";
52         find . -wholename '*typo3/sysext/*/Tests/Functional/*Test.php' | parallel --gnu 'echo; echo "Running functional test suite {}"; ./bin/phpunit --colors -c typo3/sysext/core/Build/FunctionalTests.xml {}'
53     fi
54   - >
55     if [[ "$PHP_LINT" == "yes" ]]; then
56         echo;
57         echo "Running php lint";
58         /bin/bash -c "
59             if ! find typo3/ -name \*.php | parallel --gnu 'php -l {}' > /tmp/errors 2>&1; then
60                 grep -v \"No syntax errors detected in\" /tmp/errors;
61                 exit 99;
62             fi
63         "
64     fi
65   - >
66     if [[ "$XLF_CHECK" == "yes" ]]; then
67         echo;
68         echo "Running XLF checker";
69         ./typo3/sysext/core/Build/Scripts/xlfcheck.sh
70     fi