sudo: required dist: xenial language: php php: - 7.3 - 7.4 addons: postgresql: "9.5" apt: packages: - libxml2-utils sauce_connect: true services: - mysql - postgresql env: global: - CORE_BRANCH=master - DB=sqlite - PHP_COVERAGE=FALSE - TEST_JS=FALSE - SAUCE=FALSE - PATCH_VERSION_CHECK=FALSE matrix: - DB=sqlite matrix: include: - php: 7.3 env: "DB=pgsql PHP_COVERAGE=TRUE" - php: 7.3 env: "DB=mysql" - php: 7.3 env: "TEST_JS=TRUE" - php: 7.4 env: "DB=mysql SAUCE=TRUE SELENIUM_BROWSER=firefox" - php: 7.4 env: "DB=mysql SAUCE=TRUE SELENIUM_BROWSER=chrome" - php: 7.2 env: "CORE_BRANCH=stable18" - php: 7.3 env: "CORE_BRANCH=stable19" - php: 7.4 env: "CORE_BRANCH=stable20" - php: nightly env: "PATCH_VERSION_CHECK=TRUE" fast_finish: true allow_failures: - php: nightly branches: only: - master - "/^stable\\d+(\\.\\d+)?$/" - /^v\d++(\.\d+)?+(\.\d+)?+(\.\d+)?$/ cache: directories: - "$HOME/.composer/cache/files" - "$HOME/.npm" before_install: - php --info # XDebug is only needed if we report coverage -> speeds up other builds (7.3 has no xdebug yet) - if [[ "$PHP_COVERAGE" = "FALSE" ]]; then phpenv config-rm xdebug.ini || true; fi # Use latest node for js tests - if [[ "$TEST_JS" = "TRUE" ]]; then nvm install node; 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 - npm install # Set up Apache + php-fpm for acceptance tests - if [[ "$SAUCE" = "TRUE" ]]; then ./ci/setup_apache_travis.sh; fi - cd .. - git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b $CORE_BRANCH core - if [[ "$PATCH_VERSION_CHECK" = "TRUE" ]]; then echo " core/lib/versioncheck.php; fi - if [[ "$PATCH_VERSION_CHECK" = "TRUE" ]]; then sed -ri 's/(