language: php php: - 7.2 - 7.4 env: matrix: - DB=mysql db_dsn='mysql://root@127.0.0.1/cakephp_test' global: - DEFAULT=1 services: - postgresql - mysql matrix: fast_finish: true include: - php: 7.3 env: DB=pgsql db_dsn='postgres://postgres@127.0.0.1/cakephp_test' - php: 7.3 env: DB=sqlite db_dsn='sqlite:///:memory:' - php: 7.2 env: PREFER_LOWEST=1 - php: 7.3 env: CHECKS=1 DEFAULT=0 - php: 7.3 env: CODECOVERAGE=1 DEFAULT=0 before_install: - phpenv config-rm xdebug.ini before_script: - if [[ $PREFER_LOWEST != 1 ]]; then composer install --prefer-source --no-interaction ; fi - if [[ $PREFER_LOWEST == 1 ]]; then composer update --prefer-lowest --prefer-stable --prefer-dist --no-interaction ; fi - if [[ $PREFER_LOWEST == 1 ]]; then composer require --dev dereuromark/composer-prefer-lowest; fi - if [[ $CHECKS != 1 ]]; then composer require --dev phpunit/phpunit:"^8.4"; fi - if [[ $DB == 'mysql' ]]; then mysql -e 'CREATE DATABASE cakephp_test;'; fi - if [[ $DB == 'pgsql' ]]; then psql -c 'CREATE DATABASE cakephp_test;' -U postgres; fi script: - if [[ $DEFAULT == 1 ]]; then vendor/bin/phpunit; fi - if [[ $PREFER_LOWEST == 1 ]]; then vendor/bin/validate-prefer-lowest; fi - if [[ $CODECOVERAGE == 1 ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=clover.xml; fi - if [[ $CHECKS == 1 ]]; then composer stan-setup && composer stan ; fi - if [[ $CHECKS == 1 ]]; then composer cs-check ; fi after_success: - if [[ $CODECOVERAGE == 1 ]]; then bash <(curl -s https://codecov.io/bash); fi cache: directories: - $HOME/.composer/cache