.travis.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. dist: trusty
  2. sudo: false
  3. language: php
  4. php:
  5. - 7.1
  6. - 7.2
  7. - 7.3
  8. - 7.4snapshot
  9. before_install:
  10. - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{,.disabled} || echo "xdebug not available"
  11. - travis_retry composer self-update
  12. install:
  13. - rm composer.lock
  14. - travis_retry composer update --prefer-dist
  15. script:
  16. - ./vendor/bin/phpunit -v
  17. jobs:
  18. include:
  19. - stage: Test
  20. env: COVERAGE
  21. php: 7.1
  22. before_script:
  23. - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{.disabled,}
  24. - if [[ ! $(php -m | grep -si xdebug) ]]; then echo "xdebug required for coverage"; exit 1; fi
  25. script:
  26. - ./vendor/bin/phpunit -v --coverage-clover ./build/logs/clover.xml
  27. after_script:
  28. - travis_retry wget https://scrutinizer-ci.com/ocular.phar
  29. - travis_retry php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml
  30. - stage: Code Quality
  31. env: CODING_STANDARDS
  32. php: 7.1
  33. install: travis_retry composer install --prefer-dist
  34. script: ./vendor/bin/phpcs
  35. - stage: Code Quality
  36. env: STATIC_ANALYSIS
  37. php: 7.1
  38. install: travis_retry composer install --prefer-dist
  39. script:
  40. - ./vendor/bin/phpstan analyse -c phpstan.neon -l max src
  41. - ./vendor/bin/phpstan analyse -c phpstan.tests.neon -l max tests
  42. - stage: Code Quality
  43. env: BENCHMARK
  44. php: 7.1
  45. install: travis_retry composer install --prefer-dist
  46. script: php -n ./vendor/bin/phpbench run --iterations=3 --warmup=1 --report=aggregate
  47. cache:
  48. directories:
  49. - $HOME/.composer/cache