214 lines
6.3 KiB
YAML
214 lines
6.3 KiB
YAML
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 --frozen-lockfile
|
|
- 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-installation:
|
|
docker:
|
|
- image: circleci/node:6.12
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn lerna:exec 'yarn pack --filename package.tgz'
|
|
- run: yarn test:installation
|
|
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
|
|
- save_cache:
|
|
key: coverage-0xjs-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/0x.js/coverage/lcov.info
|
|
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
|
|
- save_cache:
|
|
key: coverage-contracts-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/contracts/coverage/lcov.info
|
|
test-deployer:
|
|
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 @0xproject/deployer test:circleci
|
|
- save_cache:
|
|
key: coverage-deployer-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/deployer/coverage/lcov.info
|
|
test-rest:
|
|
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 --ignore contracts --ignore 0x.js --ignore @0xproject/deployer test:circleci
|
|
- 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
|
|
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
|
|
submit-coverage:
|
|
docker:
|
|
- image: circleci/node:6.12
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-contracts-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-assert-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-connect-{{ .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-deployer-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-0xjs-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn report_coverage
|
|
workflows:
|
|
version: 2
|
|
main:
|
|
jobs:
|
|
- build
|
|
- test-installation:
|
|
requires:
|
|
- build
|
|
- test-0xjs:
|
|
requires:
|
|
- build
|
|
- test-contracts:
|
|
requires:
|
|
- build
|
|
- test-deployer:
|
|
requires:
|
|
- build
|
|
- test-rest:
|
|
requires:
|
|
- build
|
|
- prettier:
|
|
requires:
|
|
- build
|
|
- lint:
|
|
requires:
|
|
- build
|
|
- submit-coverage:
|
|
requires:
|
|
- test-0xjs
|
|
- test-deployer
|
|
- test-rest
|
|
- test-contracts
|