language: php
sudo: false
php:
  - '5.6'
  - '7.0'
  - '7.1'
  - '7.2'
  - '7.3'
  - '7.4'

# as this is a php project, node.js (for JS unit testing) isn't installed
install:
  - if [ ! -d "$HOME/.nvm" ]; then mkdir -p $HOME/.nvm && curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | NVM_METHOD=script bash; fi
  - source ~/.nvm/nvm.sh && nvm install --lts

before_script:
  - rm composer.lock
  - composer install -n
  - npm install -g mocha
  - cd js && npm install

script:
  - mocha
  - cd ../tst && ../vendor/bin/phpunit

after_script:
  - ../vendor/bin/test-reporter --coverage-report log/coverage-clover.xml
  - cd .. && vendor/bin/codacycoverage clover tst/log/coverage-clover.xml

cache:
  directories:
    - $HOME/.composer/cache/files
    - $HOME/.composer/cache/vcs
    - $HOME/.nvm
    - $HOME/.npm
    - js/node_modules