Skip to content

Add support for n-hop swaps in FlashUniswapV3 (#105) #529

Add support for n-hop swaps in FlashUniswapV3 (#105)

Add support for n-hop swaps in FlashUniswapV3 (#105) #529

name: "Integration: Contracts Packages"
env:
COVERAGE_GIT_BRANCH: "main"
COVERAGE_SERVICE_NAME: "github-actions-ci"
INFURA_API_KEY: ${{ secrets.INFURA_API_KEY }}
MNEMONIC: ${{ secrets.MNEMONIC }}
ARBISCAN_API_KEY: ${{ secrets.ARBISCAN_API_KEY }}
SNOWTRACE_API_KEY: ${{ secrets.SNOWTRACE_API_KEY }}
BSCSCAN_API_KEY: ${{ secrets.BSCSCAN_API_KEY }}
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
OPTIMISM_API_KEY: ${{ secrets.OPTIMISM_API_KEY }}
POLYGONSCAN_API_KEY: ${{ secrets.POLYGONSCAN_API_KEY }}
on:
pull_request:
branches:
- "main"
push:
branches:
- "main"
jobs:
run-amm-integration:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v2"
- name: "Setup Node.js"
uses: "actions/setup-node@v2"
with:
cache: "yarn"
node-version: "16"
- name: "Install the dependencies"
run: "yarn install --immutable"
- name: "Build the TypeScript packages"
run: "yarn build"
- name: "Lint Solidity and TypeScript code"
run: "yarn workspace @hifi/amm lint"
- name: "Compile the contracts and generate TypeChain bindings"
run: "yarn workspace @hifi/amm compile:sol"
- name: "Test the contracts and run test coverage"
run: "yarn workspace @hifi/amm coverage"
- name: "Prepare coverage report"
uses: "coverallsapp/github-action@master"
with:
flag-name: "amm"
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel: true
path-to-lcov: "./packages/amm/coverage/lcov.info"
run-flash-swap-integration:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v2"
- name: "Setup Node.js"
uses: "actions/setup-node@v2"
with:
cache: "yarn"
node-version: "16"
- name: "Install the dependencies"
run: "yarn install --immutable"
- name: "Build the TypeScript packages"
run: "yarn build"
- name: "Lint Solidity and TypeScript code"
run: "yarn workspace @hifi/flash-swap lint"
- name: "Compile the contracts and generate TypeChain bindings"
run: "yarn workspace @hifi/flash-swap compile:sol"
- name: "Test the contracts and run test coverage"
run: "yarn workspace @hifi/flash-swap coverage"
- name: "Prepare coverage report"
uses: "coverallsapp/github-action@master"
with:
flag-name: "flash-swap"
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel: true
path-to-lcov: "./packages/flash-swap/coverage/lcov.info"
run-protocol-integration:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v2"
- name: "Setup Node.js"
uses: "actions/setup-node@v2"
with:
cache: "yarn"
node-version: "16"
- name: "Install the dependencies"
run: "yarn install --immutable"
- name: "Build the TypeScript packages"
run: "yarn build"
- name: "Lint Solidity and TypeScript code"
run: "yarn workspace @hifi/protocol lint"
- name: "Compile the contracts and generate TypeChain bindings"
run: "yarn workspace @hifi/protocol compile:sol"
- name: "Test the contracts and run test coverage"
run: "yarn workspace @hifi/protocol coverage"
- name: "Prepare coverage report"
uses: "coverallsapp/github-action@master"
with:
flag-name: "protocol"
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel: true
path-to-lcov: "./packages/protocol/coverage/lcov.info"
run-proxy-target-integration:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v2"
- name: "Setup Node.js"
uses: "actions/setup-node@v2"
with:
cache: "yarn"
node-version: "16"
- name: "Install the dependencies"
run: "yarn install --immutable"
- name: "Build the TypeScript packages"
run: "yarn build"
- name: "Lint Solidity and TypeScript code"
run: "yarn workspace @hifi/proxy-target lint"
- name: "Compile the contracts and generate TypeChain artifacts"
run: "yarn workspace @hifi/proxy-target compile:sol"
upload-coverage-report:
needs:
- "run-amm-integration"
- "run-flash-swap-integration"
- "run-protocol-integration"
runs-on: "ubuntu-latest"
steps:
- name: "Upload coverage reports to Coveralls"
uses: "coverallsapp/github-action@master"
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true