[TASK] Mention StackOverflow in README.md
[Packages/TYPO3.CMS.git] / .travis.yml
index 98cb8e7..cc1d6db 100644 (file)
@@ -1,20 +1,25 @@
 language: php
 
+node_js:
+    - "0.10"
+
 matrix:
   fast_finish: true
-  allow_failures:
-    - php: 7
 
   include:
-    - php: 5.5
-      env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes PHP_LINT=yes XLF_CHECK=yes SUBMODULE_TEST=yes
-    - php: 5.6
-      env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes PHP_LINT=yes
     - php: 7
-      env: UNIT_TESTS=yes
+      env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes ACCEPTANCE_TESTS=no JSUNIT_TESTS=yes PHP_LINT=yes XLF_CHECK=yes SUBMODULE_TEST=yes  EXCEPTIONCODE_TEST=yes
 
 sudo: false
 
+addons:
+  apt:
+    packages:
+      - parallel
+      - ack-grep
+      - nginx
+      - realpath
+
 cache:
   directories:
     - $HOME/.composer/cache
@@ -35,50 +40,73 @@ notifications:
       secure: nHWVTPyG3CQWIcYA1LASS11dD0/NBcmrAyr3xxQW0XYtH47ZUKRlEtxrVLuL7ptciNwMbfZgsiRQ1QGWDerHUlBkg0iwRxpUZgeylzWaiXsHFVAp2IBfEX54KrWeYm9gewIBDDtnp+sLgpXGgmpIs2bAGkZe5129UsUExoWh0+g=
     on_success: change
     on_failure: always
+  webhooks:
+    urls:
+      - http://www.t3bot.de/hooks/travis/index.php
+    on_success: always
+    on_failure: always
+    on_start: never
 
 before_script:
-  - mkdir parallel && cd parallel && wget http://ftp.gnu.org/gnu/parallel/parallel-latest.tar.bz2 && tar xvf parallel-latest.tar.bz2 -C . --strip-components=1 && ./configure && make && cd ..
-  - 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
-  - rm -rf typo3/sysext/compatibility6
+  - phpenv config-rm xdebug.ini
+  - echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
+  - echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
   - composer install
+  - typo3/sysext/core/Build/Configuration/TravisNginxFpm/ConfigureStartNginxFpm.sh
+  - mkdir -p typo3temp/var/tests
+  - export typo3DatabaseName="typo3"
+  - export typo3DatabaseHost="localhost"
+  - export typo3DatabaseUsername="root"
+  - export typo3DatabasePassword=""
+
+before_install:
+    - export DISPLAY=:99.0
+    - sh -e /etc/init.d/xvfb start
 
 script:
   - >
     if [[ "$UNIT_TESTS" == "yes" ]]; then
-      echo;
-      echo "Running unit tests";
-      ./bin/phpunit --colors -c typo3/sysext/core/Build/UnitTests.xml
+      ./bin/phpunit -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/src/parallel --gnu --will-cite 'echo; echo "Running functional test suite {}"; ./bin/phpunit --colors -c typo3/sysext/core/Build/FunctionalTests.xml {}'
+      ./typo3/sysext/core/Build/Scripts/splitFunctionalTests.sh 10
+      parallel --jobs 4 -a <(seq 0 9) --gnu './bin/phpunit -c typo3/sysext/core/Build/FunctionalTests-Job-{}.xml'
     fi
+
+  - >
+    if [[ "$ACCEPTANCE_TESTS" == "yes" ]]; then
+      ./bin/codecept run Acceptance -c typo3/sysext/core/Build/AcceptanceTests.yml --debug
+    fi
+
+  - >
+    if [[ "$JSUNIT_TESTS" == "yes" ]]; then
+      cd Build && npm install && cd ..
+      ./Build/node_modules/karma/bin/karma start typo3/sysext/core/Build/Configuration/JSUnit/karma.conf.js --single-run
+    fi
+
   - >
     if [[ "$PHP_LINT" == "yes" ]]; then
-        echo;
-        echo "Running php lint";
-        find typo3/ -name \*.php -not -path "typo3/contrib/vendor/*" | ./parallel/src/parallel --gnu --will-cite php -d display_errors=stderr -l {} > /dev/null \;
+      find typo3/ -name \*.php -not -path "vendor/*" | parallel --jobs 6 --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
+      ./typo3/sysext/core/Build/Scripts/xlfcheck.sh
     fi
+
   - >
-      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
+    if [[ "$SUBMODULE_TEST" == "yes" ]]; then
+      /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
+
+  - >
+    if [[ "$EXCEPTIONCODE_TEST" == "yes" ]]; then
+      ./typo3/sysext/core/Build/Scripts/duplicateExceptionCodeCheck.sh
+    fi