version: 2.1 jobs: build: resource_class: xlarge docker: - image: node:12 environment: NODE_OPTIONS: '--max-old-space-size=16384' working_directory: ~/repo steps: - checkout - run: echo 'export PATH=$HOME/CIRCLE_PROJECT_REPONAME/node_modules/.bin:$PATH' >> $BASH_ENV - run: name: install-yarn command: npm install --force --global yarn@1.22.0 - run: name: yarn command: yarn --frozen-lockfile --ignore-engines install || yarn --frozen-lockfile --ignore-engines install - setup_remote_docker - run: yarn build:ci || yarn build:ci || yarn build:ci - run: yarn build:ts || yarn build:ts || yarn build:ts - save_cache: key: repo-{{ .Environment.CIRCLE_SHA1 }} paths: - ~/repo - store_artifacts: path: ~/repo/packages/abi-gen/test-cli/output - store_artifacts: path: ~/repo/packages/contract-wrappers/generated_docs test-exchange-ganache: resource_class: medium+ docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn wsrun -p @0x/contracts-exchange -m --serial -c test:circleci test-integrations-ganache: resource_class: medium+ docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn wsrun -p @0x/contracts-integrations -m --serial -c test:circleci test-contracts-staking-ganache: resource_class: medium+ docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn wsrun -p @0x/contracts-staking -m --serial -c test:circleci test-contracts-extra-ganache: resource_class: medium+ docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn wsrun -p @0x/contracts-exchange-forwarder -p @0x/contracts-coordinator -m --serial -c test:circleci test-contracts-rest-ganache: resource_class: medium+ docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn wsrun -p @0x/contracts-multisig -p @0x/contracts-utils -p @0x/contracts-exchange-libs -p @0x/contracts-erc20 -p @0x/contracts-erc721 -p @0x/contracts-erc1155 -p @0x/contracts-asset-proxy -p @0x/contracts-broker -p @0x/contracts-zero-ex -m --serial -c test:circleci test-publish: resource_class: large environment: NODE_OPTIONS: '--max-old-space-size=6442' docker: - image: node:12 - image: 0xorg/verdaccio working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: command: yarn test:publish:circleci no_output_timeout: 1800 - store_artifacts: path: ~/.npm/_logs test-doc-generation: docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: command: yarn test:generate_docs:circleci no_output_timeout: 1200 test-rest: docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn wsrun -p @0x/contracts-test-utils -m --serial -c test:circleci - run: yarn wsrun -p @0x/contract-artifacts -m --serial -c test:circleci - run: yarn wsrun -p @0x/contract-wrappers-test -m --serial -c test:circleci - run: yarn wsrun -p @0x/migrations -m --serial -c test:circleci - run: yarn wsrun -p @0x/order-utils -m --serial -c test:circleci - run: yarn wsrun -p @0x/asset-swapper -m --serial -c test:circleci - save_cache: key: coverage-contract-wrappers-test-{{ .Environment.CIRCLE_SHA1 }} paths: - ~/repo/packages/contract-wrappers-test/coverage/lcov.info - save_cache: key: coverage-order-utils-{{ .Environment.CIRCLE_SHA1 }} paths: - ~/repo/packages/order-utils/coverage/lcov.info - save_cache: key: coverage-web3-wrapper-{{ .Environment.CIRCLE_SHA1 }} paths: - ~/repo/packages/web3-wrapper/coverage/lcov.info static-tests: resource_class: large working_directory: ~/repo docker: - image: node:12 steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn lerna run lint - run: yarn prettier:ci - run: yarn deps_versions:ci - run: yarn diff_md_docs:ci submit-coverage: docker: - image: node:12 working_directory: ~/repo steps: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: keys: - coverage-contract-wrappers-test-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: keys: - coverage-order-utils-{{ .Environment.CIRCLE_SHA1 }} - restore_cache: keys: - coverage-contracts-{{ .Environment.CIRCLE_SHA1 }} - run: yarn report_coverage workflows: version: 2 main: jobs: - build # Disabled until we begin actively developing on these packages again. # - test-exchange-ganache: # requires: # - build # - test-integrations-ganache: # requires: # - build # - test-contracts-staking-ganache: # requires: # - build # - test-contracts-extra-ganache: # requires: # - build - test-contracts-rest-ganache: requires: - build - test-rest: requires: - build - static-tests: requires: - build - test-publish: requires: - build - test-doc-generation: requires: - build # Disabled until this repo has a coveralls API key # - submit-coverage: # requires: # # Disabled until we begin actively developing on these packages again. # # - test-exchange-ganache # # - test-integrations-ganache # # - test-contracts-staking-ganache # # - test-contracts-extra-ganache # - test-contracts-rest-ganache # - test-rest # - static-tests