106 строки
3.5 KiB
YAML
106 строки
3.5 KiB
YAML
sudo: required
|
|
dist: trusty
|
|
language: php
|
|
php:
|
|
- 5.6
|
|
- 7
|
|
- 7.1
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- mysql-server-5.6
|
|
- mysql-client-core-5.6
|
|
- mysql-client-5.6
|
|
sauce_connect:
|
|
username: "nextcloud-totp"
|
|
jwt:
|
|
secure: dUvqHso+T2Gkb4Nlg4feP3s1wnFy9XWwYakckpcl24HLd7yN/zMU3/qWfAZ0NzKOvQvILdBtjjj9Bdo4jJXzfnbRPwcWE7i2E9TvHMJYYOCEymUG0IZyKNZSyxlt4FlgTXYLUTyPLeEQwb4F01Uy3kbERowfT6LtPPeReLpKcE4R3Sbz4AI4p3ugWoI9E/+zHzUHAdWJTrlwLiIVx2/9eQ+fy5BJXeFPzNeNuDhzzC0ceXkv6bKAn5Fuh+QzPCf8AURezZQ04cWoSsIymSwAlzRDBZsUqib/aOyHgkwCQFsUuRuCaZwz2DhG+PwXe0FZD/EuRYE+huVL9jV6Q7mkaclOU3UyOlsIKogLLY9HhekMStOpH2rXP0+xYmogWT1eRqsvXcODD1/3ujPWsQOR78j5KlrIEHeqfKJ9TC3gBNLPTTHIjqmadTRBsuxuWkcoZAMthaQF/j2lBk0al5rk5h9sb53MQVUy3mzDL0ou9lFRJv4hEYQoyIS9tfe6CSyHbTtQAPkeMqSZ3fKI6Jl4AP4MtN1ITOyHsY2psmsdOzDj7qlC6/+A7ApyPsshRQ0vpr9YTZhMmNZFLS6Vr7y+mdGFlkH90LK4RPEUWkn1ROaaS2BeBPGoYqNJq16wT3I2ijN3uvA8/G+4Y2F9aezYIdgUW0WG3vvtP7SW57m80Do=
|
|
|
|
services:
|
|
- postgresql
|
|
|
|
env:
|
|
global:
|
|
- CORE_BRANCH=master
|
|
- PHP_COVERAGE=FALSE
|
|
- SAUCE=FALSE
|
|
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
|
|
# Download phpunit 5.7
|
|
- wget https://phar.phpunit.de/phpunit-5.7.phar -O phpunit
|
|
- chmod u+x phpunit
|
|
|
|
# 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 nc_autotest; fi
|
|
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e 'create database nc_autotest;'; fi
|
|
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "CREATE USER 'nc_autotest'@'localhost' IDENTIFIED BY '';"; fi
|
|
- if [[ "$DB" == 'mysql' ]]; then mysql -u root -e "GRANT ALL ON nc_autotest.* TO 'nc_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_totp core/apps/
|
|
|
|
before_script:
|
|
# Set up core
|
|
- php -f core/occ maintenance:install --database-name nc_autotest --database-user nc_autotest --admin-user admin --admin-pass admin --database $DB --database-pass=''
|
|
|
|
# Enable debug mode to get more info in case a test fails
|
|
- php -f core/occ config:system:set debug --value=true --type boolean
|
|
|
|
# Set up app
|
|
- php -f core/occ app:enable twofactor_totp
|
|
- cd core/apps/twofactor_totp
|
|
|
|
# Start php server for acceptance tests
|
|
- php -S 0.0.0.0:8080 -t ../.. > webserver.log 2>&1 &
|
|
|
|
script:
|
|
- if [[ "$SAUCE" = "FALSE" ]]; then find . -name \*.php -not -path './vendor/*' -exec php -l "{}" \;; fi
|
|
- cd tests
|
|
- if [[ "$SAUCE" = "FALSE" ]]; then ../phpunit --group default --configuration phpunit.xml; fi
|
|
- if [[ "$SAUCE" = "TRUE" ]]; then ../phpunit --group Acceptance --no-coverage --configuration phpunit.xml; fi
|
|
- if [[ "$PHP_COVERAGE" = "TRUE" ]]; then wget https://scrutinizer-ci.com/ocular.phar; fi
|
|
- if [[ "$PHP_COVERAGE" = "TRUE" ]]; then php ocular.phar code-coverage:upload --format=php-clover clover.xml; fi
|
|
|
|
after_script:
|
|
- cd ..
|
|
- cat webserver.log
|
|
|
|
matrix:
|
|
include:
|
|
- php: 7
|
|
env: "DB=sqlite"
|
|
- php: 7
|
|
env: "DB=pgsql PHP_COVERAGE=TRUE"
|
|
- php: 7
|
|
env: "DB=mysql"
|
|
- php: 7.1
|
|
env: "DB=mysql SAUCE=TRUE SELENIUM_BROWSER=firefox"
|
|
- php: 7.1
|
|
env: "DB=mysql SAUCE=TRUE SELENIUM_BROWSER=chrome"
|
|
|
|
fast_finish: true
|
|
|