Merge pull request #105 from hifi-finance/feat/flash-swap-uni-v3-mult… #530
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |