diff --git a/.travis.yml b/.travis.yml index c31c6645d6b2c..fdf25bfef377e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,36 +6,46 @@ php: - 5.5 - 5.6 - 7.0 + - hhvm matrix: + exclude: + - php: hhvm + env: DB=pgsql # PDO driver for PostgreSQL currently unsupported by HHVM allow_failures: - php: 7.0 + - php: hhvm services: - memcached - redis-server -before_script: - # - composer update +install: + # - travis_retry composer self-update && composer update # Install PHPCS to validate code standards - composer require squizlabs/php_codesniffer 1.5.6 # Install Cache_Lite for testing - composer require pear/cache_lite 1.7.16 + +before_script: + # Set up Apache + # - ./build/travis/php-apache.sh + # Enable additional PHP extensions + - chmod ugo+x build/travis/travis.sh + - ./build/travis/travis.sh + - phpenv rehash + # Set up databases for testing - mysql -e 'create database joomla_ut;' - mysql joomla_ut < tests/unit/schema/mysql.sql - psql -c 'create database joomla_ut;' -U postgres - psql -d joomla_ut -a -f tests/unit/schema/postgresql.sql - # Set up Apache - # - ./build/travis/php-apache.sh - # Enable additional PHP extensions - - sh -c "if [ '$TRAVIS_PHP_VERSION' != '7.0' ]; then phpenv config-add build/travis/phpenv/memcached.ini; fi" - - sh -c "if [ '$TRAVIS_PHP_VERSION' != '7.0' ]; then phpenv config-add build/travis/phpenv/apc-$TRAVIS_PHP_VERSION.ini; fi" - - sh -c "if [ '$TRAVIS_PHP_VERSION' != '7.0' ]; then phpenv config-add build/travis/phpenv/redis.ini; fi" - + script: - - phpunit --configuration travisci-phpunit.xml - - sh -c "if [ '$TRAVIS_PHP_VERSION' != '7.0' ]; then libraries/vendor/bin/phpcs --report=full --extensions=php -p --standard=build/phpcs/Joomla .; fi" + # Run PHPunit tests + - libraries/vendor/bin/phpunit --configuration travisci-phpunit.xml + # Run PHPCS tests + - if [[ "$TRAVIS_PHP_VERSION" != '7.0' || "$TRAVIS_PHP_VERSION" != 'hhvm' ]]; then libraries/vendor/bin/phpcs --report=full --extensions=php -p --standard=build/phpcs/Joomla .; fi branches: except: @@ -48,4 +58,3 @@ notifications: on_success: change # options: [always|never|change] default: always on_failure: always # options: [always|never|change] default: always on_start: false # default: false - diff --git a/build/travis/phpenv/apc-5.5.ini b/build/travis/phpenv/apc-5.5.ini index f7c607b7d68ee..3a5be3bee237d 100644 --- a/build/travis/phpenv/apc-5.5.ini +++ b/build/travis/phpenv/apc-5.5.ini @@ -1,2 +1,2 @@ -extension="apcu.so" +;extension="apcu.so" apc.enable_cli=true diff --git a/build/travis/phpenv/apc-5.6.ini b/build/travis/phpenv/apc-5.6.ini index f7c607b7d68ee..3a5be3bee237d 100644 --- a/build/travis/phpenv/apc-5.6.ini +++ b/build/travis/phpenv/apc-5.6.ini @@ -1,2 +1,2 @@ -extension="apcu.so" +;extension="apcu.so" apc.enable_cli=true diff --git a/build/travis/phpenv/apc-7.0.ini b/build/travis/phpenv/apc-7.0.ini new file mode 100644 index 0000000000000..f7c607b7d68ee --- /dev/null +++ b/build/travis/phpenv/apc-7.0.ini @@ -0,0 +1,2 @@ +extension="apcu.so" +apc.enable_cli=true diff --git a/build/travis/phpenv/apc-hhvm.ini b/build/travis/phpenv/apc-hhvm.ini new file mode 100644 index 0000000000000..3a5be3bee237d --- /dev/null +++ b/build/travis/phpenv/apc-hhvm.ini @@ -0,0 +1,2 @@ +;extension="apcu.so" +apc.enable_cli=true diff --git a/build/travis/travis.sh b/build/travis/travis.sh new file mode 100644 index 0000000000000..5adf9065e0889 --- /dev/null +++ b/build/travis/travis.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +VERSION=`phpenv version-name` + +if [ "${VERSION}" = 'hhvm' ] +then + PHPINI=/etc/hhvm/php.ini + echo "extension_dir = /etc/hhvm" >> $PHPINI + sudo apt-get update -qq + sudo apt-get install -y apache2-doc + sudo apt-get install -y apache2-suexec + sudo apt-get install -y apache2-suexec-custom + sudo apt-get install -y ufw + sudo apt-get install -y libjs-dojo-core + sudo apt-get install -y libjs-dojo-dijit + sudo apt-get install -y libjs-dojo-dojox + sudo apt-get install -y zend-framework + sudo apt-get install -y php-pear + sudo apt-get install -y php-apc + sudo apt-get install -y php5-gd + sudo apt-get install -y php5-suhosin + sudo apt-get install -y php5-cli + sudo apt-get install -y php5-curl + sudo apt-get install -y php5-mcrypt + sudo apt-get install -y php5-imagick + sudo apt-get install -y php5-mysql + sudo apt-get install -y php5-pgsql + sudo apt-get install -y php5-memcached + sudo apt-get install -y php5-xdebug + sudo apt-get install -y gzip + #sudo apt-get install -y php5-apcu + #sudo apt-get install -y php5-redis + echo "extension = apcu.so" >> $PHPINI + echo "apc.enable_cli=true" >> $PHPINI + echo "extension = memcached.so" >> $PHPINI + echo "extension = redis.so" >> $PHPINI + # phpenv config-add build/travis/phpenv/apc-$VERSION.ini + # echo "hhvm.extensions[pgsql] = pgsql.so" >> $PHPINI +elif [ "${VERSION}" = '7.0' ] +then + PHPINI=~/.phpenv/versions/$VERSION/etc/php.ini + sudo apt-get update -qq + sudo apt-get install -y php-apc + sudo apt-get install -y php-pear + sudo apt-get install -y php5-gd + sudo apt-get install -y php5-suhosin + sudo apt-get install -y php5-cli + sudo apt-get install -y php5-curl + sudo apt-get install -y php5-pgsql + sudo apt-get install -y gzip + #sudo apt-get install -y php5-apcu + #sudo apt-get install -y php5-redis + echo "apc.enable_cli=true" >> $PHPINI +else + PHPINI=~/.phpenv/versions/$VERSION/etc/php.ini + phpenv config-add build/travis/phpenv/memcached.ini + phpenv config-add build/travis/phpenv/apc-$VERSION.ini + phpenv config-add build/travis/phpenv/redis.ini +fi diff --git a/composer.json b/composer.json index 6bde779989852..1d2f5967a9d9b 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,11 @@ "symfony/yaml": "2.*" }, "require-dev": { - "phpunit/phpunit": "4.1.*", + "phpunit/phpunit": "4.6.*", "phpunit/dbunit": "~1.3" - } + }, + "suggest": { + "phpmd/phpmd": "PHP Mess Detector", + "block8/php-docblock-checker": "PHP Docblock Checker" + } } diff --git a/composer.lock b/composer.lock index 851ef2c8e375c..890b464a3c77a 100644 --- a/composer.lock +++ b/composer.lock @@ -613,7 +613,7 @@ }, "require-dev": { "phpdocumentor/phpdocumentor": "*", - "phpunit/phpunit": "4.1.*" + "phpunit/phpunit": "4.*" }, "type": "library", "autoload": { @@ -1039,16 +1039,16 @@ }, { "name": "phpunit/phpunit", - "version": "4.1.6", + "version": "4.6.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "241116219bb7e3b8111a36ffd8f37546888738d6" + "reference": "3afe303d873a4d64c62ef84de491b97b006fbdac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/241116219bb7e3b8111a36ffd8f37546888738d6", - "reference": "241116219bb7e3b8111a36ffd8f37546888738d6", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3afe303d873a4d64c62ef84de491b97b006fbdac", + "reference": "3afe303d873a4d64c62ef84de491b97b006fbdac", "shasum": "" }, "require": {