]> 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 eee1ca749dc54a3303f125b3748d102808f2ab51..422bf835954aab2158f36bb1d8bf03b8b5ca435a 100644 (file)
@@ -1,40 +1,62 @@
-sudo: false
-dist: trusty
+dist: bionic
 
 matrix:
   include:
+    # jobs for each supported php version
     - language: php
-      php: 7.2
+      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.1
+      php: 7.4
     - language: php
-      php: 7.0
+      php: 7.3
     - language: php
-      php: 5.6
+      php: 7.2
+    - language: php
+      php: 7.1
+    # jobs for frontend builds
     - language: node_js
-      node_js: 8
+      node_js: 10
       cache:
         yarn: true
         directories:
           - $HOME/.cache/yarn
-
       install:
         - yarn install
-
       before_script:
         - PATH=${PATH//:\.\/node_modules\/\.bin/}
-
       script:
-        - yarn run build # Just to be sure that the build isn't broken
-        - make eslint
-        - make sasslint
+        - 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 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/}
@@ -42,4 +64,5 @@ before_script:
 script:
   - make clean
   - make check_permissions
+  - make code_sniffer
   - make all_tests