machine:
  timezone:
    America/Los_Angeles
  java:
    version:
      oraclejdk8
  python:
    version: 2.7.3
dependencies:
  override:
    - sudo apt-get purge mongodb-org*
    - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    - echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
    - sudo apt-get update
    - sudo apt-get install -y mongodb-org
    - sudo service mongod restart
    - lein deps
    - pip install awscli==1.7.3
database:
  post:
    # MySQL doesn't load named timezone information automatically, you have to run this command to load it
    - mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u ubuntu mysql
test:
  override:
    # 0) runs unit tests w/ H2 local DB. Runs against H2, Mongo, MySQL
    # 1) runs unit tests w/ Postgres local DB. Runs against H2, SQL Server
    # 2) runs unit tests w/ MySQL local DB. Runs against H2, Postgres
    # 3) runs Eastwood linter
    # 4) Bikeshed linter
    # 5) runs JS linter + JS test
    # 6) runs lein uberjar. (We don't run bin/build because we're not really concerned about `npm install` (etc) in this test, which runs elsewhere)
    - case $CIRCLE_NODE_INDEX in 0) ENGINES=h2,mongo,mysql lein test ;; 1) ENGINES=h2,sqlserver MB_DB_TYPE=postgres MB_DB_DBNAME=circle_test MB_DB_PORT=5432 MB_DB_USER=ubuntu MB_DB_HOST=localhost lein test ;; 2) ENGINES=h2,postgres MB_DB_TYPE=mysql MB_DB_DBNAME=circle_test MB_DB_PORT=3306 MB_DB_USER=ubuntu MB_DB_HOST=localhost lein test ;; 3) lein eastwood ;; 4) lein bikeshed --max-line-length 240 ;; 5) npm install && npm run lint && npm run build && npm run test ;; 6) lein uberjar ;; esac:
        parallel: true
deployment:
  master:
    branch: master
    commands:
      - ./bin/deploy-webhook $DEPLOY_WEBHOOK
