sudo: false language: php php: - 5.6 - 7.0 - 7.1 cache: directories: - $HOME/.composer/cache/files services: - mysql - postgresql addons: apt: packages: - php5-pgsql - libxml2-utils env: global: - PHP_COVERAGE=FALSE matrix: # Nextcloud 9+ - CORE_TYPE=nextcloud CORE_BRANCH=master DB=sqlite - CORE_TYPE=nextcloud CORE_BRANCH=stable12 DB=sqlite - CORE_TYPE=nextcloud CORE_BRANCH=stable11 DB=sqlite - CORE_TYPE=nextcloud CORE_BRANCH=stable10 DB=sqlite - CORE_TYPE=nextcloud CORE_BRANCH=stable9 DB=sqlite - CORE_TYPE=nextcloud CORE_BRANCH=master DB=mysql - CORE_TYPE=nextcloud CORE_BRANCH=stable12 DB=mysql - CORE_TYPE=nextcloud CORE_BRANCH=stable11 DB=mysql - CORE_TYPE=nextcloud CORE_BRANCH=stable10 DB=mysql - CORE_TYPE=nextcloud CORE_BRANCH=stable9 DB=mysql - CORE_TYPE=nextcloud CORE_BRANCH=master DB=pgsql - CORE_TYPE=nextcloud CORE_BRANCH=stable12 DB=pgsql - CORE_TYPE=nextcloud CORE_BRANCH=stable11 DB=pgsql - CORE_TYPE=nextcloud CORE_BRANCH=stable10 DB=pgsql - CORE_TYPE=nextcloud CORE_BRANCH=stable9 DB=pgsql # ownCloud 9.1+ - CORE_TYPE=owncloud CORE_BRANCH=master DB=sqlite - CORE_TYPE=owncloud CORE_BRANCH=stable10 DB=sqlite - CORE_TYPE=owncloud CORE_BRANCH=stable9.1 DB=sqlite - CORE_TYPE=owncloud CORE_BRANCH=master DB=mysql - CORE_TYPE=owncloud CORE_BRANCH=stable10 DB=mysql - CORE_TYPE=owncloud CORE_BRANCH=stable9.1 DB=mysql - CORE_TYPE=owncloud CORE_BRANCH=master DB=pgsql - CORE_TYPE=owncloud CORE_BRANCH=stable10 DB=pgsql - CORE_TYPE=owncloud CORE_BRANCH=stable9.1 DB=pgsql matrix: fast_finish: true exclude: - php: 5.6 env: CORE_TYPE=nextcloud CORE_BRANCH=master DB=sqlite - php: 5.6 env: CORE_TYPE=nextcloud CORE_BRANCH=master DB=mysql - php: 5.6 env: CORE_TYPE=nextcloud CORE_BRANCH=master DB=pgsql - php: 5.6 env: CORE_TYPE=owncloud CORE_BRANCH=master DB=sqlite - php: 5.6 env: CORE_TYPE=owncloud CORE_BRANCH=master DB=mysql - php: 5.6 env: CORE_TYPE=owncloud CORE_BRANCH=master DB=pgsql # Nextcloud prior v11 is not compatible with PHP 7.1 # (see https://github.com/nextcloud/server/blob/stable10/console.php#L42) - php: 7.1 env: CORE_TYPE=nextcloud CORE_BRANCH=stable9 DB=sqlite - php: 7.1 env: CORE_TYPE=nextcloud CORE_BRANCH=stable9 DB=mysql - php: 7.1 env: CORE_TYPE=nextcloud CORE_BRANCH=stable9 DB=pgsql - php: 7.1 env: CORE_TYPE=nextcloud CORE_BRANCH=stable10 DB=sqlite - php: 7.1 env: CORE_TYPE=nextcloud CORE_BRANCH=stable10 DB=mysql - php: 7.1 env: CORE_TYPE=nextcloud CORE_BRANCH=stable10 DB=pgsql # ownCloud prior v10 is not compatible with PHP 7.1 # (see https://github.com/owncloud/core/blob/stable9.1/console.php#L47) - php: 7.1 env: CORE_TYPE=owncloud CORE_BRANCH=stable9.1 DB=sqlite - php: 7.1 env: CORE_TYPE=owncloud CORE_BRANCH=stable9.1 DB=mysql - php: 7.1 env: CORE_TYPE=owncloud CORE_BRANCH=stable9.1 DB=pgsql include: # Nextcloud prior v13 is not compatible with PHP 7.2 # (see https://github.com/nextcloud/server/issues/6786#issuecomment-335154372) - php: 7.2 env: CORE_TYPE=nextcloud CORE_BRANCH=master DB=sqlite - php: 7.2 env: CORE_TYPE=nextcloud CORE_BRANCH=master DB=mysql - php: 7.2 env: CORE_TYPE=nextcloud CORE_BRANCH=master DB=pgsql # ownCloud prior v10 is not compatible with PHP 7.2 # (see https://github.com/owncloud/core/pull/29878) - php: 7.2 env: CORE_TYPE=owncloud CORE_BRANCH=master DB=sqlite - php: 7.2 env: CORE_TYPE=owncloud CORE_BRANCH=master DB=mysql - php: 7.2 env: CORE_TYPE=owncloud CORE_BRANCH=master DB=pgsql - php: 7.2 env: CORE_TYPE=owncloud CORE_BRANCH=stable10 DB=sqlite - php: 7.2 env: CORE_TYPE=owncloud CORE_BRANCH=stable10 DB=mysql - php: 7.2 env: CORE_TYPE=owncloud CORE_BRANCH=stable10 DB=pgsql before_install: # XDebug is only needed if we report coverage -> speeds up other builds - if [[ "$PHP_COVERAGE" = "FALSE" ]]; then phpenv config-rm xdebug.ini; fi install: - . ./tests/scripts/core-download.sh - . ${BUILD_APP_MODULE_DIR}/tests/scripts/core-database.sh - . ${BUILD_APP_MODULE_DIR}/tests/scripts/core-setup.sh script: # Check info.xml schema validity - . ${BUILD_APP_MODULE_DIR}/tests/scripts/lint-appinfo.sh # Check PHP syntax errors - . ${BUILD_APP_MODULE_DIR}/tests/scripts/lint-php.sh # Run app code checker but do not fail, as we have to use private API for now - . ${BUILD_APP_MODULE_DIR}/tests/scripts/app-check-code.sh || true # Run PHP tests - . ${BUILD_APP_MODULE_DIR}/tests/scripts/phpunit.sh