diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2016-10-24 19:40:26 +0300 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2016-10-24 19:40:26 +0300 |
commit | 6d0464260f0a8bdf8585d0b5e3724f870f1166a5 (patch) | |
tree | 176d86dd7b92685b115e4668098578ded6b87c68 /.travis.yml | |
parent | d1ee27b8bb33bdc85d519c4c1c1e3e3010ecef00 (diff) |
add CI
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a1f989e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,82 @@ +sudo: required +dist: trusty +language: php +php: + - 5.5 + - 5.6 + - 7.0 + +addons: + apt: + packages: + - mysql-server-5.6 + - mysql-client-core-5.6 + - mysql-client-5.6 + +services: + - docker + - postgresql + +env: + global: + - CORE_BRANCH=master + matrix: + - DB=sqlite + +branches: + only: + - master + - "/^stable\\d+(\\.\\d+)?$/" + - /^v\d++(\.\d+)?+(\.\d+)?+(\.\d+)?$/ + +cache: + directories: + - "$HOME/.composer/cache/files" + - "$HOME/.npm" + - "$HOME/.cache/bower" + +before_install: + - php --info + # XDebug is only needed if we report coverage -> speeds up other builds + - if [[ "$PHP_COVERAGE" = "FALSE" ]]; then phpenv config-rm xdebug.ini; fi + + # Set up DB + - if [[ "$DB" == 'pgsql' ]]; then createuser -U travis -s oc_autotest; fi + - if [[ "$DB" == 'mysql' ]]; then mysql -u root -e 'create database oc_autotest;'; fi + - if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "CREATE USER 'oc_autotest'@'localhost' IDENTIFIED BY '';"; fi + - if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "GRANT ALL ON oc_autotest.* TO 'oc_autotest'@'localhost';"; fi + + - composer self-update + - composer install + + - cd .. + - git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b $CORE_BRANCH core + - mv twofactor_u2f core/apps/ + +before_script: + # Set up core + - php -f core/occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database $DB --database-pass='' + + # Set up app + - php -f core/occ app:enable twofactor_u2f + - cd core/apps/twofactor_u2f + + +script: + # Check PHP syntax errors + - find . -name \*.php -not -path './vendor/*' -exec php -l "{}" \; + + # Run server's app code checker + - php ../../occ app:check-code twofactor_u2f + + # Run PHP tests + - cd tests + - phpunit --configuration phpunit.xml + +matrix: + include: + - php: 5.6 + env: "DB=mysql" + - php: 7.0 + env: "DB=pgsql" + fast_finish: true |