* add balancer v2 * fetch balancer v2 pools from subgraph * feat: initial stab at a Balancer V2 Sampler WIP * feat: add sampling for buys and fix build issues WIP [untested] * fix: BalancerV2Sampler implementation issues, works on Kovan * chore: BalancerV2 sampling boilerplate * fix: update Balancer V2 mainnet address * fix: consolidate differences between the 2 working branches * fix: use mainnet Balancer V2 subgraph * fix: stack too deep by minimizing and inline Balancer V2 vault interface * fix: address review comments and clean up * fix: sampler vault interface and pools cache assuming a pool has swaps * address more review comments * fix: TS type issues and add a comment about deadline argument * fix: pools_cache_tests incorrect token addresses, prettier incompat * fix: make ERC20BridgeSampler support BalancerV2 non view sampler fns * fix: use a struct for passing encoded bridge data for Balancer V2 * chore: add changelog entries * fix: improve gas accuracy of gas schedule for Balancer V2 & Maker Psm * fix: don't exclude sources with stale caches & wait for cache refresh * rebase * `@0x/asset-swapper`: Fix stack too deep errors in sampler * `@0x/asset-swapper`: Add uniswap V3 sampler. * `@0x/contracts-zero-ex`: Add UniswapV3 support to FQT * `@0x/protocol-utils`: Update BridgeProtocols. `@0x/asset-swapper`: Add sell integration for UniswapV3. * `@0x/asset-swapper`: Remove unnecessary swap quote consumer constructor arg. `@0x/asset-swapper`: Enable UniswapV3 on ropsten. * `@0x/asset-swapper`: UniswapV3 fixes * `@0x/asset-swapper`: Fix stuff based on latest deployed testnet contracts * `@0x/asset-swapper`: Remove UniV3 from mainnet sources for now * `@0x/asset-swapper`: Tweak univ3 gas schedule * fix CI? * `@0x/contracts-test-utils`: Set default ganache gas limit to 100e6 Co-authored-by: xianny <xianny@gmail.com> Co-authored-by: Kim Persson <kimpersson88@gmail.com> Co-authored-by: Lawrence Forman <me@merklejerk.com> Co-authored-by: Jacob Evans <jacob@dekz.net>
208 lines
7.8 KiB
YAML
208 lines
7.8 KiB
YAML
version: 2.1
|
|
|
|
jobs:
|
|
build:
|
|
resource_class: large
|
|
docker:
|
|
- image: node:12
|
|
environment:
|
|
NODE_OPTIONS: '--max-old-space-size=6442'
|
|
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: medium+
|
|
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
|