177 lines
5.5 KiB
YAML
177 lines
5.5 KiB
YAML
version: 2
|
|
|
|
jobs:
|
|
build:
|
|
docker:
|
|
- image: circleci/node:9
|
|
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:
|
|
name: Restore Yarn Package Cache
|
|
keys:
|
|
- yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
- yarn-packages-{{ .Branch }}
|
|
- yarn-packages-master
|
|
- yarn-packages-
|
|
- run:
|
|
name: yarn
|
|
command: yarn --frozen-lockfile install
|
|
- save_cache:
|
|
name: Save Yarn Package Cache
|
|
key: yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
paths:
|
|
- node_modules/
|
|
- run: node ./node_modules/lerna/bin/lerna.js bootstrap
|
|
- run: yarn build
|
|
- save_cache:
|
|
key: repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo
|
|
test-1:
|
|
docker:
|
|
- image: circleci/node:9
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn wsrun test:circleci @0xproject/contract-wrappers
|
|
- run: yarn wsrun test:circleci @0xproject/sol-compiler
|
|
- save_cache:
|
|
key: coverage-contract-wrappers-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/contract-wrappers/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-sol-compiler-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/sol-compiler/coverage/lcov.info
|
|
test-contracts:
|
|
docker:
|
|
- image: circleci/node:9
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn wsrun test:circleci contracts
|
|
test-2:
|
|
docker:
|
|
- image: circleci/node:9
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn wsrun test:circleci @0xproject/assert
|
|
- run: yarn wsrun test:circleci @0xproject/connect
|
|
- run: yarn wsrun test:circleci @0xproject/dev-utils
|
|
- run: yarn wsrun test:circleci @0xproject/json-schemas
|
|
- run: yarn wsrun test:circleci @0xproject/subproviders
|
|
- run: yarn wsrun test:circleci @0xproject/sol-cov
|
|
- run: yarn wsrun test:circleci @0xproject/metacoin
|
|
- save_cache:
|
|
key: coverage-assert-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/assert/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-connect-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/connect/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-dev-utils-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/dev-utils/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-json-schemas-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/json-schemas/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-subproviders-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/subproviders/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/sol-cov/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-metacoin-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/metacoin/coverage/lcov.info
|
|
static-tests:
|
|
working_directory: ~/repo
|
|
docker:
|
|
- image: circleci/node:9
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn prettier:ci
|
|
- run: yarn lerna:run lint
|
|
submit-coverage:
|
|
docker:
|
|
- image: circleci/node:9
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-assert-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-connect-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-contract-wrappers-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-dev-utils-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-json-schemas-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-subproviders-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-contracts-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-sol-compiler-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-0xjs-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-metacoin-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn report_coverage
|
|
workflows:
|
|
version: 2
|
|
main:
|
|
jobs:
|
|
- build
|
|
- test-1:
|
|
requires:
|
|
- build
|
|
- test-2:
|
|
requires:
|
|
- build
|
|
- test-contracts:
|
|
requires:
|
|
- build
|
|
- static-tests:
|
|
requires:
|
|
- build
|
|
- submit-coverage:
|
|
requires:
|
|
- test-1
|
|
- test-2
|