[FEATURE] Add TemplateRootPaths support to cObject FLUIDTEMPLATE
[Packages/TYPO3.CMS.git] / .travis.yml
index c818e37..58ab8e8 100644 (file)
@@ -1,34 +1,70 @@
 language: php
-php:
-  - 5.3
-  - 5.4
 
-env:
-  - DB=mysql
+matrix:
+  allow_failures:
+    - php: 7
+    - php: hhvm-nightly
 
-branches:
-  only:
-    - master
+  include:
+    - php: 5.5
+      env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes PHP_LINT=yes XLF_CHECK=yes
+    - php: 5.6
+      env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes PHP_LINT=yes
+    - php: 7
+      env: UNIT_TESTS=yes
+    - php: hhvm-nightly
+      env: UNIT_TESTS=yes
 
-before_script:
-# Install build dependencies
-  - git clone git://github.com/typo3-ci/TYPO3-Travis-Integration.git build-environment
-  - source build-environment/install-helper.sh
-  - installPhpModule igbinary
-  - installPhpModule -y memcache
-  - installPhpModule redis
-  - if [[ "$TRAVIS_PHP_VERSION" == "5.3" ]]; then installPhpModule -y apc; fi
+services:
+  - memcached
+  - redis-server
+
+notifications:
+  irc:
+    channels:
+      - "irc.freenode.net#typo3-cms"
+    on_success: change
+    on_failure: always
+    use_notice: true
+  slack:
+    rooms:
+      secure: nHWVTPyG3CQWIcYA1LASS11dD0/NBcmrAyr3xxQW0XYtH47ZUKRlEtxrVLuL7ptciNwMbfZgsiRQ1QGWDerHUlBkg0iwRxpUZgeylzWaiXsHFVAp2IBfEX54KrWeYm9gewIBDDtnp+sLgpXGgmpIs2bAGkZe5129UsUExoWh0+g=
+    on_success: change
+    on_failure: always
 
-# Install rudimentary TYPO3
-  - git clone git://git.typo3.org/TYPO3v4/Distributions/Introduction.git build-environment/Introduction
-  - mv build-environment/typo3conf .
-  - git clone git://git.typo3.org/TYPO3v4/Extensions/phpunit.git typo3conf/ext/phpunit/
-  - mkdir fileadmin
-  - if [[ "$DB" == "mysql" ]]; then mysql -e "DROP DATABASE IF EXISTS typo3_test;" -uroot; fi
-  - if [[ "$DB" == "mysql" ]]; then mysql -e "create database IF NOT EXISTS typo3_test;" -uroot; fi
-  - if [[ "$DB" == "mysql" ]]; then mysql -uroot typo3_test < build-environment/Introduction/typo3conf/ext/introduction/Resources/Private/Subpackages/Introduction/Database/introduction.sql; fi
-  - if [[ "$DB" == "mysql" ]]; then mysql -uroot typo3_test < build-environment/dbimport/cache_tables.sql; fi
-  - if [[ "$DB" == "mysql" ]]; then mysql -uroot typo3_test < build-environment/dbimport/cli_users.sql; fi
-  - if [[ "$DB" == "mysql" ]]; then mysql -uroot typo3_test < build-environment/dbimport/phpunit.sql; fi
+before_script:
+  - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
+  - if [ -e ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ]; then echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
+  - sudo apt-get install parallel
+  - rm -rf typo3/sysext/compatibility6
+  - composer self-update
+  - composer install
 
-script: php $PWD/typo3/cli_dispatch.phpsh phpunit -c tests/Build/UnitTests.xml
+script:
+  - >
+    if [[ "$UNIT_TESTS" == "yes" ]]; then
+      echo;
+      echo "Running unit tests";
+      ./bin/phpunit --colors -c typo3/sysext/core/Build/UnitTests.xml
+    fi
+  - >
+    if [[ "$FUNCTIONAL_TESTS" == "yes" ]]; then
+        echo;
+        export typo3DatabaseName="typo3";
+        export typo3DatabaseHost="localhost";
+        export typo3DatabaseUsername="root";
+        export typo3DatabasePassword="";
+        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 {}'
+    fi
+  - >
+    if [[ "$PHP_LINT" == "yes" ]]; then
+        echo;
+        echo "Running php lint";
+        find typo3/ -name \*.php -not -path "typo3/contrib/vendor/*" | parallel --gnu php -d display_errors=stderr -l {} > /dev/null \;
+    fi
+  - >
+    if [[ "$XLF_CHECK" == "yes" ]]; then
+        echo;
+        echo "Running XLF checker";
+        ./typo3/sysext/core/Build/Scripts/xlfcheck.sh
+    fi