language: php stages: - Code style analysis - test - Code coverage analysis - Phar build php: - 7.0 - 7.1 - 7.2 - nightly env: matrix: - DEPS="high" - DEPS="low" global: - DEFAULT_COMPOSER_FLAGS="--no-interaction --no-suggest --prefer-source" - XDEBUG="false" # generated with travis encrypt -r vimeo/psalm --org GITHUB_TOKEN="" - secure: Ayjp10v6IWeJX3ThWvPxlv0gkuTuvu30lsdQCjop+vS0Kv+6/IEOdSOxtm0tEWacq9EFCViWRKh9zxiwPtoi0wxGdzGGws+UtIJxew6Vy8HDCEH8nY4k50eElKUWI4YhVbiSdZEZ+Bd9kO0qGEBH9iWh8Tc8MP2Hklx7lOf+zUTSm8vpv+idcCxwGCvQMaMc5NhfnkgGq95/UU3iOvCi5/wkIFnSnoccxmZE2zsxI1e355ipa0uoe8/Ml6vK0NrZ0aBZwZfItsIuhRcL4Cm5kyar+Ao/mn9Zw8CHbfESrIMomRI7ZxwPNFj+sR/wCvEasIGHRxH8B9F4d8SmAoHR1CrmM/zyWRon73CfRb56M4VGG1hyqTr1GYHpBgZKSOYA8TKyOjD8EHGvevfHpJoGVNxf0+vAfdizlVJvkYhzSz/VjpOZO8rfOct4deNcpCVuVGg5uOGeg5P7coVniGHLHTm3JozK9Ia+ZLePtr3l/NuoW5dXVF1fdroCyQS2X0VSXALnnTPzcIQYsmpCk8yJ8uXorxj4dJHhstyll1jemJjxT7HJ1ASPUOTsPu9u9EoBDHQxOGa5b2/7chyV+EhrYV899RKZ4xEPzpC619sWgtZJci3oLcebU1BY42pIr94UqtwcJKhriwV72VpKvCG/eqOKLhXq355TYRx2dK05a5w= cache: directories: - ./vendor before_install: # determine INI file - export INI_DIR=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d - export INI=$INI_DIR/travis.ini # disable default memory limit - echo memory_limit = 2G >> $INI - if [[ "$XDEBUG" = 'false' && -f $INI_DIR/xdebug.ini ]]; then phpenv config-rm xdebug.ini; fi - composer clear-cache install: - if [[ "$DEPS" = 'high' ]]; then travis_retry composer $DEFAULT_COMPOSER_FLAGS update; fi - if [[ "$DEPS" = 'low' ]]; then travis_retry composer $DEFAULT_COMPOSER_FLAGS --prefer-lowest --prefer-stable update; fi script: - vendor/bin/phpunit - ./psalm --find-dead-code # Base test matrix (php/env) matrix: fast_finish: true allow_failures: - php: nightly exclude: # covered in Code coverage stage - php: 7.2 env: DEPS="high" # Additional stages jobs: include: - stage: Code coverage analysis php: 7.2 # don't disable xdebug here env: XDEBUG="true" install: - composer $DEFAULT_COMPOSER_FLAGS update - composer require --dev php-coveralls/php-coveralls after_success: - travis_retry php vendor/bin/php-coveralls -v - stage: Code style analysis php: 7.2 env: DEPS="high" script: - vendor/bin/phpcs # always build phar, but only deploy on tag builds - stage: Phar build php: 7.1 env: DEPS="low" script: - bin/build-phar.sh --phive before_deploy: - echo $GPG_ENCRYPTION | gpg --passphrase-fd 0 keys.asc.gpg - gpg --batch --yes --import keys.asc - echo $SIGNING_KEY | gpg --passphrase-fd 0 -u 8A03EA3B385DBAA1 --armor --detach-sig build/psalm.phar deploy: skip_cleanup: true on: tags: true provider: releases api_key: $GITHUB_TOKEN file: - build/psalm.phar - build/psalm.phar.asc