2016-12-07 06:01:49 +01:00
|
|
|
language: php
|
2016-12-07 06:16:15 +01:00
|
|
|
|
2018-08-02 06:44:15 +02:00
|
|
|
stages:
|
|
|
|
- Code style analysis
|
|
|
|
- test
|
|
|
|
- Code coverage analysis
|
|
|
|
- Phar build
|
|
|
|
|
|
|
|
php:
|
|
|
|
- 7.0
|
|
|
|
- 7.1
|
|
|
|
- 7.2
|
|
|
|
- nightly
|
|
|
|
|
2018-08-07 19:54:02 +02:00
|
|
|
env:
|
2018-08-02 06:44:15 +02:00
|
|
|
matrix:
|
|
|
|
- DEPS="high"
|
|
|
|
- DEPS="low"
|
|
|
|
global:
|
|
|
|
- DEFAULT_COMPOSER_FLAGS="--no-interaction --no-suggest --prefer-source"
|
|
|
|
- XDEBUG="false"
|
2018-11-28 22:41:13 +01:00
|
|
|
# generated with travis encrypt -r vimeo/psalm --org GITHUB_TOKEN="<secret oauth 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=
|
2016-12-07 06:16:15 +01:00
|
|
|
|
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- ./vendor
|
|
|
|
|
2018-01-09 07:09:52 +01:00
|
|
|
before_install:
|
|
|
|
# determine INI file
|
2018-07-13 23:44:50 +02:00
|
|
|
- export INI_DIR=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d
|
|
|
|
- export INI=$INI_DIR/travis.ini
|
2018-01-09 07:09:52 +01:00
|
|
|
# disable default memory limit
|
|
|
|
- echo memory_limit = 2G >> $INI
|
2018-08-02 06:44:15 +02:00
|
|
|
- if [[ "$XDEBUG" = 'false' && -f $INI_DIR/xdebug.ini ]]; then phpenv config-rm xdebug.ini; fi
|
|
|
|
- composer clear-cache
|
2018-01-09 07:09:52 +01:00
|
|
|
|
2016-12-07 06:16:15 +01:00
|
|
|
install:
|
2018-08-02 06:44:15 +02:00
|
|
|
- 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
|
2016-12-23 20:45:20 +01:00
|
|
|
|
|
|
|
script:
|
|
|
|
- vendor/bin/phpunit
|
2017-12-30 15:51:01 +01:00
|
|
|
- ./psalm --find-dead-code
|
2017-12-14 06:40:22 +01:00
|
|
|
|
2018-08-02 06:44:15 +02:00
|
|
|
# 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
|
2018-12-08 19:18:55 +01:00
|
|
|
env: XDEBUG="true"
|
|
|
|
install:
|
|
|
|
- composer $DEFAULT_COMPOSER_FLAGS update
|
|
|
|
- composer require --dev php-coveralls/php-coveralls
|
2018-08-02 06:44:15 +02:00
|
|
|
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:
|
2018-11-28 22:28:54 +01:00
|
|
|
- bin/build-phar.sh --phive
|
2018-11-28 22:41:13 +01:00
|
|
|
before_deploy:
|
|
|
|
- echo $GPG_ENCRYPTION | gpg --passphrase-fd 0 keys.asc.gpg
|
|
|
|
- gpg --batch --yes --import keys.asc
|
2018-12-14 18:35:02 +01:00
|
|
|
- echo $SIGNING_KEY | gpg --passphrase-fd 0 -u 8A03EA3B385DBAA1 --armor --detach-sig build/psalm.phar
|
2018-08-02 06:44:15 +02:00
|
|
|
deploy:
|
|
|
|
skip_cleanup: true
|
|
|
|
on:
|
|
|
|
tags: true
|
|
|
|
provider: releases
|
2018-08-07 19:54:02 +02:00
|
|
|
api_key: $GITHUB_TOKEN
|
2018-11-28 22:28:54 +01:00
|
|
|
file:
|
|
|
|
- build/psalm.phar
|
|
|
|
- build/psalm.phar.asc
|