]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - .travis.yml
Merge pull request #1698 from ArthurHoaro/feature/plugins-search-filter
[github/shaarli/Shaarli.git] / .travis.yml
index a3038c13d8c1e5505f67dab50b96662b751ad42a..422bf835954aab2158f36bb1d8bf03b8b5ca435a 100644 (file)
@@ -1,14 +1,68 @@
-sudo: false
-language: php
-php:
-  - 7.0
-  - 5.6
-  - 5.5
-  - 5.4
-  - 5.3
+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:
+  directories:
+    - $HOME/.composer/cache
+
+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:
-  - composer self-update
-  - composer install
+  # 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 test
+  - make check_permissions
+  - make code_sniffer
+  - make all_tests