237 lines
7.9 KiB
YAML
237 lines
7.9 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: >
|
|
if [ -z "$(git diff --name-only v2-prototype packages/website)" ]; then
|
|
yarn build --exclude website
|
|
else
|
|
yarn build
|
|
fi
|
|
- save_cache:
|
|
key: repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo
|
|
test-contracts-ganache:
|
|
docker:
|
|
- image: circleci/node:9
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn wsrun test:circleci contracts
|
|
test-contracts-geth:
|
|
docker:
|
|
- image: circleci/node:9
|
|
- image: albrow/0x-devnet
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
# HACK(albrow): we need to sleep 10 seconds to ensure the devnet is
|
|
# initialized
|
|
- run: sleep 10 && TEST_PROVIDER=geth yarn wsrun test contracts
|
|
test-rest:
|
|
docker:
|
|
- image: circleci/node:9
|
|
working_directory: ~/repo
|
|
steps:
|
|
- restore_cache:
|
|
keys:
|
|
- repo-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn wsrun test:circleci @0xproject/0x.js
|
|
- run: yarn wsrun test:circleci @0xproject/abi-gen
|
|
- run: yarn wsrun test:circleci @0xproject/assert
|
|
- run: yarn wsrun test:circleci @0xproject/base-contract
|
|
- run: yarn wsrun test:circleci @0xproject/connect
|
|
- run: yarn wsrun test:circleci @0xproject/contract-wrappers
|
|
- run: yarn wsrun test:circleci @0xproject/dev-utils
|
|
- run: yarn wsrun test:circleci @0xproject/json-schemas
|
|
- run: yarn wsrun test:circleci @0xproject/metacoin
|
|
- run: yarn wsrun test:circleci @0xproject/order-utils
|
|
- run: yarn wsrun test:circleci @0xproject/order-watcher
|
|
- run: yarn wsrun test:circleci @0xproject/sol-compiler
|
|
- run: yarn wsrun test:circleci @0xproject/sol-cov
|
|
- run: yarn wsrun test:circleci @0xproject/sra-report
|
|
- run: yarn wsrun test:circleci @0xproject/subproviders
|
|
- run: yarn wsrun test:circleci @0xproject/web3-wrapper
|
|
- save_cache:
|
|
key: coverage-0xjs-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/0x.js/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-abi-gen-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/abi-gen/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-assert-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/assert/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-base-contract-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/base-contract/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-connect-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/connect/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-contract-wrappers-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/contract-wrappers/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-metacoin-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/metacoin/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-order-utils-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/order-utils/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-order-watcher-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/order-watcher/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-sol-compiler-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/sol-compiler/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/sol-cov/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-sra-report-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/sra-report/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-subproviders-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/subproviders/coverage/lcov.info
|
|
- save_cache:
|
|
key: coverage-web3-wrapper-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- ~/repo/packages/web3-wrapper/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-0xjs-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-abi-gen-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-assert-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-base-contract-{{ .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-metacoin-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-order-utils-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-order-watcher-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-sol-compiler-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-sra-report-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-subproviders-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-web3-wrapper-{{ .Environment.CIRCLE_SHA1 }}
|
|
- restore_cache:
|
|
keys:
|
|
- coverage-contracts-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run: yarn report_coverage
|
|
workflows:
|
|
version: 2
|
|
main:
|
|
jobs:
|
|
- build
|
|
- test-contracts-ganache:
|
|
requires:
|
|
- build
|
|
- test-contracts-geth:
|
|
requires:
|
|
- build
|
|
- test-rest:
|
|
requires:
|
|
- build
|
|
- static-tests:
|
|
requires:
|
|
- build
|
|
- submit-coverage:
|
|
requires:
|
|
- test-rest
|