.travis.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. language: php
  2. sudo: false
  3. matrix:
  4. fast_finish: true
  5. include:
  6. - php: 5.3
  7. env: SKIP_LINT_TEST_CASES=1 COMPOSER_FLAGS="--prefer-stable --prefer-lowest"
  8. - php: 5.4
  9. env: SKIP_LINT_TEST_CASES=1
  10. - php: 5.5
  11. env: SKIP_LINT_TEST_CASES=1
  12. - php: 5.6
  13. env: DEPLOY=yes
  14. - php: 7.0
  15. env: SYMFONY_VERSION="^2.8"
  16. - php: 7.1
  17. # Use the newer stack for HHVM as HHVM does not support Precise anymore since a long time and so Precise has an outdated version
  18. - php: hhvm-3.9
  19. env: SKIP_LINT_TEST_CASES=1
  20. sudo: required
  21. dist: trusty
  22. group: edge
  23. - php: hhvm
  24. env: SKIP_LINT_TEST_CASES=1
  25. sudo: required
  26. dist: trusty
  27. group: edge
  28. cache:
  29. directories:
  30. - $HOME/.composer/cache
  31. before_install:
  32. - git config --global github.accesstoken 5e7538aa415005c606ea68de2bbbade0409b4b8c
  33. - |
  34. if [ $TRAVIS_TAG ]; then
  35. # for tag building for release we don't need to collect code coverage, let us turn off xdebug completely
  36. phpenv config-rm xdebug.ini || return 0
  37. else
  38. # for regular build we care about collecting code coverage, let us turn off xdebug only for installation part
  39. mv $HOME/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini $HOME/xdebug.ini || return 0
  40. fi
  41. - travis_retry composer global require hirak/prestissimo
  42. - 'if [ "$SYMFONY_VERSION" != "" ]; then sed -i "s/\"symfony\/\([^\"]*\)\": \"^2[^\"]*\"/\"symfony\/\1\": \"$SYMFONY_VERSION\"/g" composer.json; fi'
  43. install:
  44. - travis_retry composer update $COMPOSER_FLAGS --no-interaction
  45. script:
  46. - cp $HOME/xdebug.ini $HOME/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini || return 0
  47. - composer test-ci
  48. - phpenv config-rm xdebug.ini || return 0
  49. - php php-cs-fixer --diff --dry-run -v fix
  50. after_success:
  51. - php vendor/bin/coveralls -v
  52. before_deploy:
  53. # install box2
  54. - curl -LSs http://box-project.github.io/box2/installer.php | php
  55. - php box.phar --version
  56. # ensure that deps will work on lowest supported PHP version
  57. - |
  58. sed -i 's#"config":\s*{#"config": {\n "platform": {"php": "5.3.6"},#' composer.json
  59. # update deps to highest possible for lowest supported PHP version
  60. - composer update --no-dev --no-interaction --optimize-autoloader --prefer-stable
  61. # build phar file
  62. - php -d phar.readonly=false box.phar build
  63. deploy:
  64. provider: releases
  65. api_key:
  66. secure: K9NKi7X1OPz898fxtVc1RfWrSI+4hTFFYOik932wTz1jC4dQJ64Khh1LV9frA1+JiDS3+R6TvmQtpzbkX3y4L75UrSnP1ADH5wfMYIVmydG3ZjTMo8SWQWHmRMh3ORAKTMMpjl4Q7EkRkLp6RncKe+FAFPP5mgv55mtIMaE4qUk=
  67. file: php-cs-fixer.phar
  68. skip_cleanup: true
  69. on:
  70. repo: FriendsOfPHP/PHP-CS-Fixer
  71. tags: true
  72. condition: $DEPLOY = yes