X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=.travis.yml;h=b2747e7ddd3c9656943283ef838e817b9c763b6d;hb=883ccc235e6fd176a46d26f8c4ca0b8c6c532cb6;hp=1d90a7489b738ed7351f5ca2a3a4a58c7b2ece7b;hpb=aa6e27cf4fbbb4713b1cdc933c4719ae9da78c71;p=github%2Fwallabag%2Fwallabag.git diff --git a/.travis.yml b/.travis.yml index 1d90a748..229e3e0e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,82 @@ language: php +services: + - mysql + - postgresql + - rabbitmq + - redis + +# cache vendor dirs +cache: + apt: true + directories: + - vendor + - $HOME/.composer/cache + - node_modules + - $HOME/.npm + - $HOME/.yarn-cache + php: - - 5.4 - - 5.5 - - 5.6 + - 7.1 + - 7.2 + - 7.3 + - 7.4 + - nightly + +node_js: + - "5" + +env: + - DB=mysql + - DB=pgsql + - DB=sqlite + +matrix: + fast_finish: true + include: + - php: 7.2 + env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite + allow_failures: + - php: 7.4 + - php: nightly +# exclude v1 branches branches: - only: - - refactor + except: + - legacy + +before_install: + - if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi; + +install: + - if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 6.10; fi; + - if [[ $ASSETS = build ]]; then npm install -g yarn@latest; fi; + - if [[ $ASSETS = build ]]; then yarn install; fi; before_script: - - composer self-update - - echo 'date.timezone = "Europe/Paris"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini + - PHP=$TRAVIS_PHP_VERSION + - echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini + - phpenv config-rm xdebug.ini || echo "xdebug not available" + - composer self-update --no-progress + # install imagick + - pear config-set preferred_state beta + - pecl channel-update pecl.php.net + - yes | pecl install imagick script: - - ant -f app/build.xml prepare - - phpunit -c app --coverage-text + - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist + + - echo "travis_fold:start:prepare" + - make prepare DB=$DB + - echo "travis_fold:end:prepare" + + - make fixtures + + - if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then ./bin/simple-phpunit -v ; fi; + # PHPStan needs PHPUnit to be installed and cache app to be generated + - if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then php bin/phpstan analyse src tests --no-progress --level 1 ; fi; + - if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix --verbose --dry-run ; fi; + - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi; + - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml app/Resources/CraueConfigBundle/translations -v ; fi; + - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/UserBundle/Resources/translations -v ; fi; + - if [[ $ASSETS = build ]]; then yarn run build:prod; fi;