[BUGFIX] Workspaces: Properly use slots to modify data
[Packages/TYPO3.CMS.git] / .travis.yml
index 4ee44be..4648b21 100644 (file)
@@ -1,12 +1,30 @@
 language: php
 
-php:
-  - 5.3
-  - 5.4
-  - 5.5
+matrix:
+  fast_finish: true
+  allow_failures:
+    - php: 5.6
+  include:
+    - php: 5.3
+    - php: 5.4
+    - php: 5.5
+      env: SUBMODULE_TEST=yes
+    - php: 5.6
 
 env:
-  - DB=mysql
+  global:
+    secure: NGVAI0ayw2h9pB2bi2u9AkfV1OKa2LCrGXNtxAvQhFxKW28qmeOUehFuacxpvCI5fA8Ae7oVo2Ba0vcpb5a3uJry1lMpxcn9Ic+voB7SwlCuL6Rx/vntPkYUH+58cC3t40yHKArCUE9KCJA6znNCaZ7MyG6dWHgry0cvAjVOQzE=
+
+sudo: false
+
+cache:
+  directories:
+    - $HOME/.composer/cache
+
+addons:
+  apt:
+    packages:
+      - parallel
 
 services:
   - memcached
@@ -14,27 +32,27 @@ services:
 
 notifications:
   irc:
-    - "irc.freenode.net#typo3-cms"
-  email:
-    - typo3-team-core@lists.typo3.org
+    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
 
 before_script:
   - >
-    if [[ "$TRAVIS_PHP_VERSION" != "5.5" ]]; then
-        echo "extension = apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini;
-        echo "apc.enable_cli=1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini;
-        echo "apc.slam_defense=0" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini;
-    fi
-  - >
-    if [[ "$TRAVIS_PHP_VERSION" != "5.5" ]]; then
+    if [[ "$TRAVIS_PHP_VERSION" = "5.3" || "$TRAVIS_PHP_VERSION" = "5.4" ]]; then
         pecl install igbinary > /dev/null;
     fi
   - echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
   - echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
-  - sudo apt-get install parallel
-  - composer self-update
-  - composer --dev install
-  - mkdir -p uploads typo3temp typo3conf/ext
+  - chmod a+x typo3/sysext/core/Build/Scripts/*
+  - if [ "$GITHUB_COMPOSER_AUTH" ]; then composer config -g github-oauth.github.com $GITHUB_COMPOSER_AUTH; fi
+  - composer install
 
 script:
   - >
@@ -47,13 +65,23 @@ script:
     export typo3DatabaseHost="localhost";
     export typo3DatabaseUsername="root";
     export typo3DatabasePassword="";
-    grep directory typo3/sysext/core/Build/FunctionalTests.xml | awk '{print $1}' | sed 's%<directory>\(\.\./\)*\(typo3/sysext.*\)</directory>$%\2%g' | parallel --gnu 'echo; echo "Running functional {} tests"; ./bin/phpunit --colors -c typo3/sysext/core/Build/FunctionalTests.xml {}'
+    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 {}'
   - >
     echo;
     echo "Running php lint";
-    /bin/bash -c "
-        if ! find typo3/ -name \*.php | parallel --gnu 'php -l {}' > /tmp/errors 2>&1; then
-            grep -v \"No syntax errors detected in\" /tmp/errors;
-            exit 99;
-        fi
-    "
\ No newline at end of file
+    find typo3/ -name \*.php -not -path "typo3/contrib/vendor/*" | parallel --gnu php -d display_errors=stderr -l {} > /dev/null \;
+  - >
+    echo;
+    echo "Running XLF checker";
+    ./typo3/sysext/core/Build/Scripts/xlfcheck.sh
+  - >
+    if [[ "$SUBMODULE_TEST" == "yes" ]]; then
+        echo;
+        echo "Running git submodule check";
+        /bin/bash -c "
+            if [[ `git submodule status 2>&1 | wc -l` -ne 0 ]]; then
+                echo \"Found a submodule definition in repository\";
+                exit 99;
+            fi
+        "
+    fi