language: php dist: trusty git: depth: 5 cache: directories: - $HOME/.composer/cache addons: apt: packages: - parallel matrix: include: - php: 5.3 dist: precise - php: 5.4 - php: 5.5 - php: 5.6 - php: 7.0 - php: 7.1 - php: 7.2 - php: 7.3 - php: 7.4 env: - deps=high - SYMFONY_PHPUNIT_VERSION=7.5 - php: 7.4 env: - deps=high - PHPSTAN=1 - php: nightly fast_finish: true allow_failures: - php: nightly before_install: # disable Xdebug if available - phpenv config-rm xdebug.ini || echo "xdebug not available" # disable default memory limit - export INI=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - echo memory_limit = -1 >> $INI - composer validate install: # flags to pass to install - flags="--ansi --prefer-dist --no-interaction --optimize-autoloader --no-suggest --no-progress" # update deps to latest in case of high deps build - if [ "$deps" == "high" ]; then composer config platform.php 7.2.4; composer update $flags; fi # install dependencies using system provided composer binary - composer install $flags # install dependencies using composer from source - bin/composer install $flags before_script: # make sure git tests do not complain about user/email not being set - git config --global user.name travis-ci - git config --global user.email travis@example.com script: - ./vendor/bin/simple-phpunit # Run PHPStan - if [[ $PHPSTAN == "1" ]]; then bin/composer require --dev phpstan/phpstan:^0.12 phpunit/phpunit:^6.5 && vendor/bin/phpstan analyse --configuration=phpstan/config.neon; fi before_deploy: - php -d phar.readonly=0 bin/compile deploy: provider: releases api_key: $GITHUB_TOKEN file: composer.phar skip_cleanup: true on: tags: true repo: composer/composer php: '7.3'