diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..e92d978a052a7bd4965b3fb0c3b765dcbd0c6107 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,74 @@ +language: php +os: linux + +addons: + firefox: "47.0.1" + postgresql: "9.4" + +cache: + directories: + - $HOME/.composer/cache + - $HOME/.npm + +services: + - mysql + +php: + - 7.2 + - 7.3 + +env: + jobs: + - DB=pgsql MOODLE_BRANCH=MOODLE_38_STABLE + - DB=pgsql MOODLE_BRANCH=master + +before_install: + - phpenv config-rm xdebug.ini + - nvm install 8.9 + - nvm use 8.9 + - cd ../.. + - composer create-project -n --no-dev --prefer-dist blackboard-open-source/moodle-plugin-ci ci dev-master + - export PATH="$(cd ci/bin; pwd):$(cd ci/vendor/bin; pwd):$PATH" + +jobs: + include: + # Prechecks against latest Moodle stable only. + - stage: static + php: 7.3 + env: DB=mysqli MOODLE_BRANCH=MOODLE_38_STABLE + install: + - moodle-plugin-ci install --no-init + script: + - moodle-plugin-ci phpdoc + - moodle-plugin-ci phplint + - moodle-plugin-ci phpcpd + - moodle-plugin-ci phpmd + - moodle-plugin-ci codechecker + - moodle-plugin-ci validate + - moodle-plugin-ci savepoints + - moodle-plugin-ci mustache + - moodle-plugin-ci grunt + # Smaller build matrix for development builds + - stage: develop + php: 7.3 + env: DB=mysqli MOODLE_BRANCH=MOODLE_38_STABLE + install: + - moodle-plugin-ci install + script: + - moodle-plugin-ci phpunit --coverage-clover + - moodle-plugin-ci behat + fast_finish: true + +# Unit tests and behat tests against full matrix. +install: + - moodle-plugin-ci install +script: + - moodle-plugin-ci phpunit --coverage-clover + - moodle-plugin-ci behat + +stages: + - static + - name: develop + if: branch != master AND (type != pull_request OR head_branch != master) AND (tag IS blank) + - name: test + if: branch = master OR (type = pull_request AND head_branch = master) OR (tag IS present)