language: node_js
# When changing node version also update it on lines 34, 36 and 46.
node_js:
  - "0.10"
  - "0.12"
  - "4"
sudo: false
cache:
  directories:
    - node_modules
    - core/client/node_modules
    - core/client/bower_components
addons:
  postgresql: "9.3"
env:
  global:
    - GITHUB_OAUTH_KEY=003a44d58f12089d0c0261338298af3813330949
    - GHOST_NODE_VERSION_CHECK=false
    - TEST_SUITE=server
  matrix:
    - DB=sqlite3 NODE_ENV=testing
    - DB=mysql NODE_ENV=testing-mysql
    - DB=pg NODE_ENV=testing-pg
matrix:
  include:
    - node_js: "0.10"
      env: TEST_SUITE=lint
before_install:
  - if [ $DB == "mysql" ]; then mysql -e 'create database ghost_testing'; fi
  - if [ $DB == "pg" ]; then psql -c 'create database ghost_testing;' -U postgres; fi
after_success:
  - |
      if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
        if [[ "$DB" = "sqlite3" && "$TRAVIS_NODE_VERSION" = "0.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