.travis.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. language: php
  2. dist: bionic
  3. git:
  4. depth: 5
  5. cache:
  6. directories:
  7. - $HOME/.composer/cache
  8. matrix:
  9. include:
  10. - php: 5.3
  11. dist: precise
  12. - php: 5.4
  13. dist: trusty
  14. - php: 5.5
  15. dist: trusty
  16. - php: 5.6
  17. dist: xenial
  18. - php: 7.0
  19. dist: xenial
  20. - php: 7.1
  21. dist: xenial
  22. - php: 7.2
  23. dist: xenial
  24. - php: 7.3
  25. dist: xenial
  26. # Regular 7.4 build with locked deps
  27. - php: 7.4
  28. env:
  29. - SYMFONY_PHPUNIT_VERSION=7.5
  30. # High deps check
  31. - php: 7.4
  32. env:
  33. - deps=high
  34. - SYMFONY_PHPUNIT_VERSION=7.5
  35. # PHPStan checks
  36. - php: 7.4
  37. env:
  38. - deps=high
  39. - PHPSTAN=1
  40. - SYMFONY_PHPUNIT_VERSION=7.5
  41. - php: nightly
  42. fast_finish: true
  43. allow_failures:
  44. - php: nightly
  45. before_install:
  46. # disable Xdebug if available
  47. - phpenv config-rm xdebug.ini || echo "xdebug not available"
  48. # disable default memory limit
  49. - export INI=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
  50. - echo memory_limit = -1 >> $INI
  51. - composer validate
  52. install:
  53. # flags to pass to install
  54. - flags="--ansi --prefer-dist --no-interaction --optimize-autoloader --no-suggest --no-progress"
  55. # update deps to latest in case of high deps build
  56. - if [ "$deps" == "high" ]; then composer config platform.php 7.4.0; composer update $flags; fi
  57. # install dependencies using system provided composer binary
  58. - composer install $flags
  59. # install dependencies using composer from source
  60. - bin/composer install $flags
  61. before_script:
  62. # make sure git tests do not complain about user/email not being set
  63. - git config --global user.name travis-ci
  64. - git config --global user.email travis@example.com
  65. script:
  66. - if [[ $PHPSTAN == "1" ]]; then
  67. bin/composer require --dev phpstan/phpstan:^0.12 phpunit/phpunit:^7.5 --no-update &&
  68. bin/composer update phpstan/* phpunit/* sebastian/* --with-dependencies &&
  69. vendor/bin/phpstan analyse --configuration=phpstan/config.neon;
  70. else
  71. vendor/bin/simple-phpunit;
  72. fi
  73. before_deploy:
  74. - php -d phar.readonly=0 bin/compile
  75. deploy:
  76. provider: releases
  77. api_key: $GITHUB_TOKEN
  78. file: composer.phar
  79. skip_cleanup: true
  80. on:
  81. tags: true
  82. repo: composer/composer
  83. php: '7.3'