[BUGFIX] Limit shown user groups in the permission module
[Packages/TYPO3.CMS.git] / .travis.yml
index a07aa80..e75d974 100644 (file)
@@ -1,70 +1,87 @@
 language: php
 
-php:
-  - 5.3
-  - 5.4
-  - 5.5
+node_js:
+    - "0.10"
 
-env:
-  - DB=mysql UNITTESTS=1
-  - DB=none FUNCTIONALTESTS=1
-  - DB=none PHPLINT=1
+matrix:
+  fast_finish: true
 
-notifications:
-  irc:
-    - "irc.freenode.net#typo3-cms"
-  email:
-    - typo3-team-core@lists.typo3.org
+  include:
+    - php: 7
+      env: UNIT_TESTS=yes FUNCTIONAL_TESTS=yes PHP_LINT=yes XLF_CHECK=yes SUBMODULE_TEST=yes
+
+sudo: false
+
+addons:
+  apt:
+    packages:
+      - parallel
+
+cache:
+  directories:
+    - $HOME/.composer/cache
 
 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
+  webhooks:
+    urls:
+      - http://www.t3bot.de/hooks/travis/index.php
+    on_success: always
+    on_failure: always
+    on_start: never
 
 before_script:
-  - sudo apt-get install parallel
-  - sudo apt-get update && sudo apt-get install git
-  - git clone --single-branch --branch master --depth 1 git://github.com/typo3-ci/TYPO3-Travis-Integration.git build-environment
-  - source build-environment/install-helper.sh
+  - 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
+  - export typo3DatabaseName="typo3"
+  - export typo3DatabaseHost="localhost"
+  - export typo3DatabaseUsername="root"
+  - export typo3DatabasePassword=""
 
+script:
   - >
-    if [[ "$UNITTESTS" == "1" ]]; then
-       if [[ "$TRAVIS_PHP_VERSION" == "5.3" ]]; then
-               installPhpModule -y apc;
-       fi
-       if [[ "$TRAVIS_PHP_VERSION" != "5.5" ]]; then
-               installPhpModule igbinary
-       fi
-       installPhpModule -y memcache
-       installPhpModule redis
-       mv build-environment/typo3conf .
-       git clone --single-branch --branch master --depth 1 git://git.typo3.org/TYPO3CMS/Extensions/phpunit.git typo3conf/ext/phpunit/
-       mkdir fileadmin
-       mkdir uploads
-       mkdir typo3temp
+    if [[ "$UNIT_TESTS" == "yes" ]]; then
+      ./bin/phpunit -c vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml
     fi
 
   - >
-    if [[ "$FUNCTIONALTESTS" == "1" ]]; then
-       mv build-environment/typo3conf .
-       git clone --single-branch --branch master --depth 1 git://git.typo3.org/TYPO3CMS/Extensions/phpunit.git typo3conf/ext/phpunit/
-       mkdir typo3temp
+    if [[ "$FUNCTIONAL_TESTS" == "yes" ]]; then
+      ./vendor/typo3/testing-framework/Resources/Core/Build/Scripts/splitFunctionalTests.sh 14
+      parallel --jobs 4 -a <(seq 0 13) --gnu './bin/phpunit -c vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests-Job-{}.xml'
     fi
 
   - >
-    if [[ "$DB" == "mysql" ]]; then
-       mysql -e "DROP DATABASE IF EXISTS typo3_test;" -uroot
-       mysql -e "CREATE DATABASE IF NOT EXISTS typo3_test;" -uroot
-       php build-environment/dbimport/DatabaseImport.php
-       mysql -uroot typo3_test < build-environment/dbimport/cli_users.sql
+    if [[ "$PHP_LINT" == "yes" ]]; then
+      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
+      ./Build/Scripts/xlfcheck.sh
     fi
 
-script:
   - >
-    if [[ "$PHPLINT" == "1" ]]; then
-       phpLint all
-    elif [[ "$UNITTESTS" == "1" ]]; then
-       ./typo3conf/ext/phpunit/Composer/vendor/bin/phpunit -c typo3/sysext/core/Build/UnitTests.xml
-    elif [[ "$FUNCTIONALTESTS" == "1" ]]; then
-       grep directory typo3/sysext/core/Build/FunctionalTests.xml | sed 's#[   ]*<directory>\.\./\.\./\.\./\.\./\(typo3/sysext.*\)</directory>$#\1#g' | parallel --gnu --keep-order 'echo "Running {} tests"; ./typo3conf/ext/phpunit/Composer/vendor/bin/phpunit -c typo3/sysext/core/Build/FunctionalTests.xml {}'
-    else
-       exit 1
+    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