language: php php: - 5.3 - 5.4 - 5.5 - 5.6 - hhvm matrix: include: - php: 5.4 env: DB=oracle - php: 5.4 env: DB=pgsql - php: 5.4 env: DB=mysql - php: 5.4 env: DB=mysql EXTERNAL=true allow_failures: - php: hhvm fast_finish: true env: global: - EXTERNAL=false matrix: - DB=sqlite before_script: # setup databases - wget https://raw.githubusercontent.com/owncloud/administration/master/travis-ci/setup_databases.sh - bash ./setup_databases.sh $DB # Additional PHP config - if [[ $HHVM == false ]] ; then phpenv config-add build/travis.php.ini ; fi # fetch Ocular (for test coverage upload) - wget https://scrutinizer-ci.com/ocular.phar # call setup for tests - build/prepareTests.sh $DB # Enable/disable files_external to control it's unit test execution - php occ --list - if [[ $EXTERNAL == true ]] ; then php occ app:enable files_external ; fi - if [[ $EXTERNAL == false ]] ; then php occ app:disable files_external ; fi script: - phpunit --version # Run PHP lint for each PHP version - if [[ $DB == 'sqlite' ]] ; then ant -f build/build.xml -Dbasedir=. prepare lint ; fi # Run tests - phpunit --configuration tests/phpunit-autotest.xml --coverage-clover tests/autotest-clover-$DB.xml --verbose --debug # Run JS tests just once (see test matrix - mysql is just run once) - if [[ $DB == 'mysql' ]] ; then ./autotest-js.sh ; fi # Upload coverage report - php ocular.phar code-coverage:upload --format=php-clover tests/autotest-clover-$DB.xml branches: only: - master - stable5 - stable6 - stable7