language: php sudo: false dist: trusty git: depth: 5 cache: directories: - $HOME/.composer/cache addons: apt: packages: - parallel php: - 5.4 - 5.5 - 5.6 - 7.0 - 7.1 - 7.2 - nightly matrix: include: - dist: precise php: 5.3 fast_finish: true allow_failures: - php: nightly before_install: # determine INI file - if [[ $TRAVIS_PHP_VERSION = hhvm* ]]; then export INI=/etc/hhvm/php.ini; else export INI=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi # disable xdebug if available - phpenv config-rm xdebug.ini || echo "xdebug not available" # disable default memory limit - echo memory_limit = -1 >> $INI install: # flags to pass to install - flags="--ansi --prefer-dist --no-interaction --optimize-autoloader --no-suggest --no-progress" # 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: # run test suite directories in parallel using GNU parallel - ls -d tests/Composer/Test/* | parallel --gnu --keep-order 'echo "Running {} tests"; ./vendor/bin/phpunit -c tests/complete.phpunit.xml --colors=always {} || (echo -e "\e[41mFAILED\e[0m {}" && exit 1);' 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.1'