version: 2 jobs: build: docker: - image: circleci/node:6.12 environment: CONTRACTS_COMMIT_HASH: '9ed05f5' working_directory: ~/repo steps: - checkout - run: echo 'export PATH=$HOME/CIRCLE_PROJECT_REPONAME/node_modules/.bin:$PATH' >> $BASH_ENV - restore_cache: key: dependency-cache-{{ checksum "package.json" }} - run: name: yarn command: yarn - save_cache: key: dependency-cache-{{ checksum "package.json" }} paths: - ./node_modules - run: wget https://s3.amazonaws.com/testrpc-shapshots/${CONTRACTS_COMMIT_HASH}.zip - run: unzip ${CONTRACTS_COMMIT_HASH}.zip -d testrpc_snapshot - run: node ./node_modules/lerna/bin/lerna.js bootstrap - run: yarn lerna:run build - save_cache: key: repo-{{ .Environment.CIRCLE_SHA1 }} paths: - ~/repo test-0xjs: docker: - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: name: testrpc command: npm run testrpc -- --db testrpc_snapshot background: true - run: yarn lerna:run --scope 0x.js test:circleci test-contracts: docker: - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: name: testrpc command: npm run testrpc -- --db testrpc_snapshot background: true - run: yarn lerna:run --scope contracts test:circleci test-rest: docker: - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn lerna:run --ignore contracts,0x.js test:circleci lint: working_directory: ~/repo docker: - image: circleci/node:6.12 steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn lerna:run lint prettier: working_directory: ~/repo docker: - image: circleci/node:6.12 steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn prettier:ci workflows: version: 2 main: jobs: - build - test-0xjs: requires: - build - test-contracts: requires: - build - test-rest: requires: - build - lint: requires: - build - prettier: requires: - build