version: 2 containerInfo: - image: node:7 - image: mongo:3.4 - image: redis:3.2 stages: build: workDir: ~/talk environment: - "PATH=$PATH:~/talk/node_modules/.bin" - "NODE_ENV=test" steps: # Get the code - type: checkout # Restore the yarn cache - type: cache-restore key: yarn-cache # Install dependencies - type: shell shell: /bin/bash command: | # install yarn npm install -g yarn # install dependencies yarn # Save the yarn cache - type: cache-save key: yarn-cache paths: - ~/.cache/yarn # Build the dependencies - type: shell shell: /bin/bash command: | # build static dependencies yarn build # lint the project yarn lint - type: shell shell: /bin/bash command: | # Initialize the settings in the database, this will create indicies # for the database. ./bin/cli setup --defaults # Ugly fix to wait until database indicies are created. sleep 2 # Run the tests using the junit reporter. MOCHA_FILE=$CIRCLE_TEST_REPORTS/junit/test-results.xml MOCHA_REPORTER=mocha-junit-reporter yarn test # Run the e2e test suite E2E_REPORT_PATH=$CIRCLE_TEST_REPORTS/e2e yarn e2e # TODO: fix # deployment: # release: # tag: /v[0-9]+(\.[0-9]+)*/ # commands: # - bash ./scripts/deploy.sh # # latest: # branch: master # commands: # - bash ./scripts/deploy.sh