OETH L2 Base plugin #4093
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: Tests | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
jobs: | |
deployment-scripts: | |
name: 'Deployment Scripts' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn devchain & | |
env: | |
MAINNET_RPC_URL: https://eth-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_MAINNET_KEY }} | |
FORK_NETWORK: mainnet | |
- run: yarn deploy:run --network localhost | |
env: | |
SKIP_PROMPT: 1 | |
static-analyses: | |
name: 'Lint Checks' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn lint | |
- run: pip3 install solc-select slither-analyzer | |
- run: pip3 install slitherin | |
- run: solc-select install 0.8.19 | |
- run: solc-select use 0.8.19 | |
- run: yarn slither | |
plugin-unit-tests: | |
name: 'Plugin Unit Tests' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn test:plugins | |
plugin-tests-mainnet-1: | |
name: 'Plugin Integration Tests (Mainnet) - 1/3' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn hardhat test ./test/plugins/individual-collateral/[A-Ca-c]*/*.test.ts ./test/plugins/individual-collateral/[A-Ca-c]*/*/*.test.ts | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
MAINNET_RPC_URL: https://eth-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_MAINNET_KEY }} | |
FORK_NETWORK: mainnet | |
PROTO_IMPL: 1 | |
FORK: 1 | |
plugin-tests-mainnet-2: | |
name: 'Plugin Integration Tests (Mainnet) - 2/3' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn hardhat test ./test/plugins/individual-collateral/[D-Ld-l]*/*.test.ts | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
MAINNET_RPC_URL: https://eth-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_MAINNET_KEY }} | |
FORK_NETWORK: mainnet | |
PROTO_IMPL: 1 | |
FORK: 1 | |
plugin-tests-mainnet-3: | |
name: 'Plugin Integration Tests (Mainnet) - 3/3' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn hardhat test ./test/plugins/individual-collateral/[M-Zm-z]*/*.test.ts | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
MAINNET_RPC_URL: https://eth-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_MAINNET_KEY }} | |
FORK_NETWORK: mainnet | |
PROTO_IMPL: 1 | |
FORK: 1 | |
plugin-tests-base: | |
name: 'Plugin Integration Tests (Base)' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn hardhat test ./test/plugins/individual-collateral/{cbeth,aave-v3,compoundv3,stargate,lido,meta-morpho,aerodrome}/*.test.ts | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
BASE_RPC_URL: https://base-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_BASE_KEY }} | |
FORK_NETWORK: base | |
FORK_BLOCK: 4446300 | |
FORK: 1 | |
PROTO_IMPL: 1 | |
plugin-tests-arbitrum: | |
name: 'Plugin Integration Tests (Arbitrum)' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn hardhat test ./test/plugins/individual-collateral/{aave-v3,compoundv3,curve/cvx,mountain}/*.test.ts | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
ARBITRUM_RPC_URL: https://arb-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_ARBITRUM_KEY }} | |
FORK_NETWORK: arbitrum | |
FORK_BLOCK: 194244696 | |
FORK: 1 | |
PROTO_IMPL: 1 | |
p0-tests: | |
name: 'P0 tests' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn test:p0 | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
p1-tests: | |
name: 'P1 Tests' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn test:p1 | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
scenario-tests: | |
name: 'Scenario Tests' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn test:scenario | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
extreme-tests: | |
name: 'Extreme Tests' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn test:extreme | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn test:extreme:integration | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
MAINNET_RPC_URL: https://eth-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_MAINNET_KEY }} | |
FORK_NETWORK: mainnet | |
integration-tests: | |
name: 'Integration Tests' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn install --immutable | |
- run: yarn test:integration | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
MAINNET_RPC_URL: https://eth-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_MAINNET_KEY }} | |
FORK_NETWORK: mainnet | |
monitor-tests: | |
name: 'Monitor Tests (Mainnet)' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- name: 'Cache hardhat network fork' | |
uses: actions/cache@v3 | |
with: | |
path: cache/hardhat-network-fork | |
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }} | |
restore-keys: | | |
hardhat-network-fork-${{ runner.os }}- | |
hardhat-network-fork- | |
- run: yarn hardhat test ./test/monitor/*.test.ts | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' | |
TS_NODE_SKIP_IGNORE: true | |
MAINNET_RPC_URL: https://eth-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_MAINNET_KEY }} | |
FORK_NETWORK: mainnet | |
FORK: 1 | |
PROTO_IMPL: 1 | |
registry-tests: | |
name: 'Registry Tests' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: 'yarn' | |
- run: yarn install --immutable | |
- run: yarn test:registries | |
env: | |
NODE_OPTIONS: '--max-old-space-size=32768' |