-sudo: false
-dist: trusty
-language: php
+dist: bionic
+
+matrix:
+ include:
+ # jobs for each supported php version
+ - language: php
+ php: nightly # PHP 8.0
+ install:
+ - composer self-update --2
+ - composer update --ignore-platform-req=php
+ - composer remove --dev --ignore-platform-req=php phpunit/phpunit
+ - composer require --dev --ignore-platform-req=php phpunit/php-text-template ^2.0
+ - composer require --dev --ignore-platform-req=php phpunit/phpunit ^9.0
+ - language: php
+ php: 7.4
+ - language: php
+ php: 7.3
+ - language: php
+ php: 7.2
+ - language: php
+ php: 7.1
+ # jobs for frontend builds
+ - language: node_js
+ node_js: 10
+ cache:
+ yarn: true
+ directories:
+ - $HOME/.cache/yarn
+ install:
+ - yarn install
+ before_script:
+ - PATH=${PATH//:\.\/node_modules\/\.bin/}
+ script:
+ - yarn run build # verify successful frontend builds
+ - make eslint # javascript static analysis
+ - make sasslint # linter for SASS syntax
+ # jobs for documentation builds
+ - language: python
+ python: 3.6
+ cache:
+ directories:
+ - $HOME/.cache/pip
+ install:
+ - pip install mkdocs
+ script:
+ - mkdocs build --clean
+
cache:
- yarn: true
directories:
- $HOME/.composer/cache
- - $HOME/.cache/yarn
-php:
- - 7.2
- - 7.1
- - 7.0
- - 5.6
+
+before_install:
+ # Disable xdebug: it significantly speed up tests and linter, and we don't use coverage yet
+ - phpenv config-rm xdebug.ini || echo 'No xdebug config.'
+
install:
- - yarn install
- - composer install --prefer-dist
+ # install/update composer and php dependencies
+ - composer config --unset platform && composer config platform.php $TRAVIS_PHP_VERSION
+ - composer update
+
before_script:
- PATH=${PATH//:\.\/node_modules\/\.bin/}
+
script:
- make clean
- make check_permissions
- - make eslint
+ - make code_sniffer
- make all_tests