language: node_js # When changing node version also update it on lines 31 and 49. node_js: - "10" - "8" - "6" sudo: false cache: directories: - node_modules env: global: - GITHUB_OAUTH_KEY=003a44d58f12089d0c0261338298af3813330949 matrix: - DB=sqlite3 NODE_ENV=testing - DB=mysql NODE_ENV=testing-mysql matrix: include: - node_js: "10" env: TEST_SUITE=lint fast_finish: true branches: except: - /^greenkeeper-.+$/ before_install: - if [ $DB == "mysql" ]; then mysql -e 'create database ghost_testing'; fi - curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo -E apt-key add - - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee -a /etc/apt/sources.list >/dev/null - sudo -E apt-get -yq update &>> ~/apt-get-update.log - sudo -E apt-get -yq --no-install-suggests --no-install-recommends $TRAVIS_APT_OPTS install yarn install: - yarn - if [ "$DB" == "sqlite3" ]; then yarn add --force sqlite3; fi # fix sqlite caching issues script: | if [ "${TRAVIS_EVENT_TYPE}" = "cron" && "${TEST_SUITE}" != "lint" ]; then yarn test:regression else yarn test fi after_success: - | if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then if [[ "$DB" = "sqlite3" && "$TRAVIS_NODE_VERSION" = "10" ]]; then echo "Generate coverage..." grunt coverage npm install -g codeclimate-test-reporter codeclimate-test-reporter < core/test/coverage/unit/lcov.info else echo "False DB and NODE_VERSION. No coverage generated." fi else echo "This is a PR. No coverage generated." fi after_failure: | if [ "${TRAVIS_EVENT_TYPE}" == "cron" ]; then curl -X POST --data-urlencode "payload={\"attachments\": [{\"color\": \"danger\", \"fallback\": \"Build Failure: $TRAVIS_JOB_WEB_URL\", \"title\": \"Build Failure\", \"text\": \"$TRAVIS_JOB_WEB_URL\"}]}" $SLACK_URL fi