88be7537eed8a03a2001af30bd1f60cb202db9eb
[Packages/TYPO3.CMS.git] / .travis.yml
1 language: php
2
3 matrix:
4 fast_finish: true
5
6 include:
7 - php: 7
8 env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes ACCEPTANCE_TESTS=no PHP_LINT=yes XLF_CHECK=yes SUBMODULE_TEST=yes EXCEPTIONCODE_TEST=yes
9
10 sudo: false
11
12 addons:
13 apt:
14 packages:
15 - parallel
16 - ack-grep
17 - nginx
18 - realpath
19
20 cache:
21 directories:
22 - $HOME/.composer/cache
23
24 env:
25 global:
26 secure: NGVAI0ayw2h9pB2bi2u9AkfV1OKa2LCrGXNtxAvQhFxKW28qmeOUehFuacxpvCI5fA8Ae7oVo2Ba0vcpb5a3uJry1lMpxcn9Ic+voB7SwlCuL6Rx/vntPkYUH+58cC3t40yHKArCUE9KCJA6znNCaZ7MyG6dWHgry0cvAjVOQzE=
27
28 services:
29 - memcached
30 - redis-server
31
32 notifications:
33 irc:
34 channels:
35 - "irc.freenode.net#typo3-cms"
36 on_success: change
37 on_failure: always
38 use_notice: true
39 slack:
40 rooms:
41 secure: nHWVTPyG3CQWIcYA1LASS11dD0/NBcmrAyr3xxQW0XYtH47ZUKRlEtxrVLuL7ptciNwMbfZgsiRQ1QGWDerHUlBkg0iwRxpUZgeylzWaiXsHFVAp2IBfEX54KrWeYm9gewIBDDtnp+sLgpXGgmpIs2bAGkZe5129UsUExoWh0+g=
42 on_success: change
43 on_failure: always
44 webhooks:
45 urls:
46 - http://www.t3bot.de/hooks/travis/index.php
47 on_success: always
48 on_failure: always
49 on_start: never
50
51 before_script:
52 - phpenv config-rm xdebug.ini
53 - echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
54 - echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
55 - if [ "$GITHUB_COMPOSER_AUTH" ]; then composer config -g github-oauth.github.com $GITHUB_COMPOSER_AUTH; fi
56 - composer install
57 - typo3/sysext/core/Build/Configuration/TravisNginxFpm/ConfigureStartNginxFpm.sh
58 - mkdir -p typo3temp/var/tests
59 - export typo3DatabaseName="typo3"
60 - export typo3DatabaseHost="localhost"
61 - export typo3DatabaseUsername="root"
62 - export typo3DatabasePassword=""
63
64 script:
65 - >
66 if [[ "$UNIT_TESTS" == "yes" ]]; then
67 ./bin/phpunit -c typo3/sysext/core/Build/UnitTests.xml
68 fi
69
70 - >
71 if [[ "$FUNCTIONAL_TESTS" == "yes" ]]; then
72 find . -wholename '*typo3/sysext/*/Tests/Functional/*Test.php' | parallel --jobs 6 --gnu 'echo; echo "Running functional test suite {}"; ./bin/phpunit -c typo3/sysext/core/Build/FunctionalTests.xml {}'
73 fi
74
75 - >
76 if [[ "$ACCEPTANCE_TESTS" == "yes" ]]; then
77 ./bin/codecept run Acceptance -c typo3/sysext/core/Build/AcceptanceTests.yml --debug
78 fi
79
80 - >
81 if [[ "$PHP_LINT" == "yes" ]]; then
82 find typo3/ -name \*.php -not -path "vendor/*" | parallel --jobs 6 --gnu php -d display_errors=stderr -l {} > /dev/null \;
83 fi
84
85 - >
86 if [[ "$XLF_CHECK" == "yes" ]]; then
87 ./typo3/sysext/core/Build/Scripts/xlfcheck.sh
88 fi
89
90 - >
91 if [[ "$SUBMODULE_TEST" == "yes" ]]; then
92 /bin/bash -c "
93 if [[ `git submodule status 2>&1 | wc -l` -ne 0 ]]; then
94 echo \"Found a submodule definition in repository\";
95 exit 99;
96 fi
97 "
98 fi
99
100 - >
101 if [[ "$EXCEPTIONCODE_TEST" == "yes" ]]; then
102 ./typo3/sysext/core/Build/Scripts/duplicateExceptionCodeCheck.sh
103 fi