Skip to content
Snippets Groups Projects
circle.yml 2.33 KiB
Newer Older
  • Learn to ignore specific revisions
  • Cam Saul's avatar
    Cam Saul committed
      timezone:
        America/Los_Angeles
    
    Cam Saul's avatar
    Cam Saul committed
        version:
          oraclejdk8
    
    Michael Hobbs's avatar
    Michael Hobbs committed
      python:
        version: 2.7.3
    
    Michael Hobbs's avatar
    Michael Hobbs committed
    dependencies:
    
        - 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 add-apt-repository ppa:crate/stable -y
    
        - sudo apt-get update
    
        - sudo apt-get install -y mongodb-org crate
        # ulimit setting refused Crate service to start on CircleCI container - so comment it
        - sudo sed -i '/MAX_LOCKED_MEMORY/s/^/#/' /etc/init/crate.conf
    
        - sudo service mongod restart
    
        - sudo service crate restart
    
        - lein deps
    
    Michael Hobbs's avatar
    Michael Hobbs committed
        - pip install awscli==1.7.3
    
    Tom Robinson's avatar
    Tom Robinson committed
        - npm cache clean
    
        - npm install -g npm@2.15.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
    
    Cam Saul's avatar
    Cam Saul committed
    test:
      override:
    
    Cam Saül's avatar
    Cam Saül committed
        # 0) runs unit tests w/ H2 local DB. Runs against H2, Mongo, MySQL, BigQuery
    
    Cam Saül's avatar
    Cam Saül committed
        # 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, SQLite, Crate
    
        # 3) runs unit tests w/ H2 local DB. Runs against H2, Redshift, Druid
    
    Cam Saül's avatar
    Cam Saül committed
        # 4) runs Eastwood linter, Bikeshed linter, docstring-checker & ./bin/reflection-linter
    
    Allen Gilliland's avatar
    Allen Gilliland committed
        # 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,bigquery 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,crate,postgres,sqlite MB_DB_TYPE=mysql MB_DB_DBNAME=circle_test MB_DB_PORT=3306 MB_DB_USER=ubuntu MB_DB_HOST=localhost lein test ;; 3) ENGINES=h2,redshift,druid lein test ;; 4) lein eastwood && lein bikeshed && lein docstring-checker && ./bin/reflection-linter ;; 5) npm install && npm run lint && npm run build && npm run test ;; 6) lein uberjar ;; esac:
    
    Cam Saul's avatar
    Cam Saul committed
            parallel: true
    
    Michael Hobbs's avatar
    Michael Hobbs committed
    deployment:
      master:
        branch: master
        commands:
    
          - ./bin/deploy-webhook $DEPLOY_WEBHOOK