server/.travis.yml

67 lines
1.6 KiB
YAML

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