language: php sudo: required branches: only: - master php: - 7.1 - 7.2 - 7.3 - 7.4 env: global: - SABRE_MYSQLUSER="root" - SABRE_MYSQLPASS="" - SABRE_MYSQLDSN="mysql:host=127.0.0.1;dbname=sabredav_test" - RUN_PHPCSFIXER="TRUE" - RUN_PHPUNIT="TRUE" - RUN_PHPSTAN="FALSE" matrix: - PREFER_LOWEST="" TEST_DEPS="" REPORT_COVERAGE="TRUE" WITH_COVERAGE="--coverage-clover=coverage.xml" - PREFER_LOWEST="--prefer-lowest" TEST_DEPS="tests/Sabre/" REPORT_COVERAGE="FALSE" WITH_COVERAGE="" matrix: include: - name: 'PHP8' dist: bionic php: 8.0 env: - RUN_PHPCSFIXER="FALSE" - REPORT_COVERAGE="FALSE" - name: 'PHPStan' php: 7.4 env: - RUN_PHPCSFIXER="FALSE" - RUN_PHPUNIT="FALSE" - RUN_PHPSTAN="TRUE" - REPORT_COVERAGE="FALSE" - name: 'Test with streaming propfind' php: 7.2 env: - RUN_TEST_WITH_STREAMING_PROPFIND="TRUE" - REPORT_COVERAGE="FALSE" fast_finish: true services: - mysql - postgresql before_script: - mysql -u root -h 127.0.0.1 -e 'create database sabredav_test' - psql -c "create database sabredav_test" -U postgres - psql -c "create user sabredav with PASSWORD 'sabredav';GRANT ALL PRIVILEGES ON DATABASE sabredav_test TO sabredav" -U postgres - if [ $RUN_PHPCSFIXER == "FALSE" ]; then composer remove --no-update --dev friendsofphp/php-cs-fixer; fi - composer update $PREFER_LOWEST addons: postgresql: "9.5" script: - if [ $RUN_PHPCSFIXER == "TRUE" ]; then php vendor/bin/php-cs-fixer fix --dry-run --diff; fi - if [ $RUN_PHPUNIT == "TRUE" ]; then php vendor/bin/phpunit --configuration tests/phpunit.xml $WITH_COVERAGE $TEST_DEPS; fi - if [ $RUN_PHPUNIT == "TRUE" ]; then rm -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini; fi - if [ $RUN_PHPSTAN == "TRUE" ]; then composer phpstan; fi after_success: - if [ $REPORT_COVERAGE == "TRUE" ]; then bash <(curl -s https://codecov.io/bash); fi cache: directories: - $HOME/.composer/cache