Skip to content

Fix issue with settle() asyncFee is left in the KeepFactory and is not transfer to the keeper #1882

Fix issue with settle() asyncFee is left in the KeepFactory and is not transfer to the keeper

Fix issue with settle() asyncFee is left in the KeepFactory and is not transfer to the keeper #1882

Workflow file for this run

name: Automated Tests and Linting
on:
push:
branches: [main]
pull_request:
branches:
- main
- v2.3
- v2.3-fix-review
workflow_dispatch:
env:
CI: true
PARSER_BROKEN: false # set to true if Solidity parsing is currently broken, this will skip Linting and Coverage
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: 18.19
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
if: ${{ env.PARSER_BROKEN != 'true' }}
- name: lint
run: yarn workspaces run lint
if: ${{ env.PARSER_BROKEN != 'true' }}
# [CORE]
core-unit-test:
name: '[Core] Unit Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
run: |
yarn workspace @equilibria/perennial-v2 run ${{ env.PARSER_BROKEN != 'true' && 'coverage' || 'test' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: core_unit_test_coverage
path: ./packages/perennial/coverage/lcov.info
- name: '[Core] Unit Test Code Coverage Report'
uses: romeovs/lcov-reporter-action@v0.3.1
with:
title: '[Core] Unit Test Coverage Report'
lcov-file: ./packages/perennial/coverage/lcov.info
github-token: ${{ secrets.GITHUB_TOKEN }}
delete-old-comments: true
if: ${{ github.event_name == 'pull_request' && env.PARSER_BROKEN != 'true' }}
core-integration-test:
name: '[Core] Integration Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
MAINNET_NODE_URL: ${{ secrets.MAINNET_NODE_URL }}
run: |
yarn workspace @equilibria/perennial-v2 run ${{ env.PARSER_BROKEN != 'true' && 'coverage:integration' || 'test:integration' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: core_integration_test_coverage
path: ./packages/perennial/coverage/lcov.info
- name: '[Core] Integration Test Code Coverage Report'
uses: romeovs/lcov-reporter-action@v0.3.1
with:
title: '[Core] Integration Test Coverage Report'
lcov-file: ./packages/perennial/coverage/lcov.info
github-token: ${{ secrets.GITHUB_TOKEN }}
delete-old-comments: true
if: ${{ github.event_name == 'pull_request' && env.PARSER_BROKEN != 'true' }}
core-combined-test:
name: '[Core] Combined Tests w/ Coverage'
runs-on: ubuntu-latest
needs: [core-unit-test, core-integration-test]
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- name: Download unit test coverage file
uses: actions/download-artifact@v3
with:
name: core_unit_test_coverage
path: core_unit_test_coverage
- name: Download integration test coverage file
uses: actions/download-artifact@v3
with:
name: core_integration_test_coverage
path: core_integration_test_coverage
- name: Install lcov
run: sudo apt-get update && sudo apt-get install lcov
- name: Combine unit and integration test coverage
run: lcov -a core_unit_test_coverage/lcov.info -a core_integration_test_coverage/lcov.info --output-file core_combined_coverage.info
- name: '[Core] Combined Test Code Coverage Report'
uses: romeovs/lcov-reporter-action@v0.3.1
with:
title: '[Core] Combined Test Coverage Report'
lcov-file: core_combined_coverage.info
github-token: ${{ secrets.GITHUB_TOKEN }}
delete-old-comments: true
if: ${{ github.event_name == 'pull_request' && env.PARSER_BROKEN != 'true' }}
# [ACCOUNT]
account-unit-test:
name: '[Collateral Accounts] Unit Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
run: |
yarn workspace @equilibria/perennial-v2-account run ${{ env.PARSER_BROKEN != 'true' && 'coverage' || 'test' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: account_unit_test_coverage
path: ./packages/perennial-account/coverage/lcov.info
account-integration-test:
name: '[Collateral Accounts] Integration Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
ARBITRUM_NODE_URL: ${{ secrets.ARBITRUM_NODE_URL }}
run: |
yarn workspace @equilibria/perennial-v2-account run ${{ env.PARSER_BROKEN != 'true' && 'coverage:integration' || 'test:integration' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: account_integration_test_coverage
path: ./packages/perennial-account/coverage/lcov.info
# [ORACLE]
oracle-unit-test:
name: '[Oracle] Unit Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
run: |
yarn workspace @equilibria/perennial-v2-oracle run ${{ env.PARSER_BROKEN != 'true' && 'coverage' || 'test' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: oracle_unit_test_coverage
path: ./packages/perennial-oracle/coverage/lcov.info
oracle-integration-test:
name: '[Oracle] Integration Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
MAINNET_NODE_URL: ${{ secrets.MAINNET_NODE_URL }}
run: |
yarn workspace @equilibria/perennial-v2-oracle run ${{ env.PARSER_BROKEN != 'true' && 'coverage:integration' || 'test:integration' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: oracle_integration_test_coverage
path: ./packages/perennial-oracle/coverage/lcov.info
oracle-integrationSepolia-test:
name: '[Oracle] Sepolia Integration Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
ARBITRUM_SEPOLIA_NODE_URL: ${{ secrets.ARBITRUM_SEPOLIA_NODE_URL }}
run: |
yarn workspace @equilibria/perennial-v2-oracle run ${{ env.PARSER_BROKEN != 'true' && 'coverage:integrationSepolia' || 'test:integrationSepolia' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: oracle_sepolia_integration_test_coverage
path: ./packages/perennial-oracle/coverage/lcov.info
# [ORDER]
order-unit-test:
name: '[Trigger Orders] Unit Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
run: |
yarn workspace @equilibria/perennial-v2-order run ${{ env.PARSER_BROKEN != 'true' && 'coverage' || 'test' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: order_unit_test_coverage
path: ./packages/perennial-order/coverage/lcov.info
order-integration-test:
name: '[Trigger Orders] Integration Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
ARBITRUM_NODE_URL: ${{ secrets.ARBITRUM_NODE_URL }}
run: |
yarn workspace @equilibria/perennial-v2-order run ${{ env.PARSER_BROKEN != 'true' && 'coverage:integration' || 'test:integration' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: order_integration_test_coverage
path: ./packages/perennial-order/coverage/lcov.info
# [VAULT]
vault-unit-test:
name: '[Vault] Unit Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
run: |
yarn workspace @equilibria/perennial-v2-vault run ${{ env.PARSER_BROKEN != 'true' && 'coverage' || 'test' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: vault_unit_test_coverage
path: ./packages/perennial-vault/coverage/lcov.info
vault-integration-test:
name: '[Vault] Integration Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
MAINNET_NODE_URL: ${{ secrets.MAINNET_NODE_URL }}
run: |
yarn workspace @equilibria/perennial-v2-vault run ${{ env.PARSER_BROKEN != 'true' && 'coverage:integration' || 'test:integration' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: vault_integration_test_coverage
path: ./packages/perennial-vault/coverage/lcov.info
# [EXTENSIONS]
extensions-unit-test:
name: '[Extensions] Unit Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
run: |
yarn workspace @equilibria/perennial-v2-extensions run ${{ env.PARSER_BROKEN != 'true' && 'coverage' || 'test' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: extensions_unit_test_coverage
path: ./packages/perennial-extensions/coverage/lcov.info
extensions-integration-test:
name: '[Extensions] Integration Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
MAINNET_NODE_URL: ${{ secrets.MAINNET_NODE_URL }}
run: |
yarn workspace @equilibria/perennial-v2-extensions run ${{ env.PARSER_BROKEN != 'true' && 'coverage:integration' || 'test:integration' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: extensions_integration_test_coverage
path: ./packages/perennial-extensions/coverage/lcov.info
# [VERIFIER]
verifier-unit-test:
name: '[Verifier] Unit Tests w/ Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: cache
with:
path: |
node_modules
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn --frozen-lockfile
- name: Compile
run: yarn workspaces run compile # compile all packages
- name: Run tests
env:
MOCHA_REPORTER: dot
MOCHA_RETRY_COUNT: 2
run: |
yarn workspace @equilibria/perennial-v2-verifier run ${{ env.PARSER_BROKEN != 'true' && 'coverage' || 'test' }}
- name: Upload lcov file
uses: actions/upload-artifact@v3
with:
name: verifier_unit_test_coverage
path: ./packages/perennial-verifier/coverage/lcov.info
# [PERIPHERY UNIT COVERAGE]
periphery-unit-test-coverage:
name: 'Periphery Unit Tests Coverage'
runs-on: ubuntu-latest
needs:
[account-unit-test, oracle-unit-test, order-unit-test, vault-unit-test, extensions-unit-test, verifier-unit-test]
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- name: Download collateral account unit test coverage file
uses: actions/download-artifact@v3
with:
name: account_unit_test_coverage
path: account_unit_test_coverage
- name: Download oracle unit test coverage file
uses: actions/download-artifact@v3
with:
name: oracle_unit_test_coverage
path: oracle_unit_test_coverage
- name: Download order unit test coverage file
uses: actions/download-artifact@v3
with:
name: order_unit_test_coverage
path: order_unit_test_coverage
- name: Download vault unit test coverage file
uses: actions/download-artifact@v3
with:
name: vault_unit_test_coverage
path: vault_unit_test_coverage
- name: Download extensions unit test coverage file
uses: actions/download-artifact@v3
with:
name: extensions_unit_test_coverage
path: extensions_unit_test_coverage
- name: Download verifier unit test coverage file
uses: actions/download-artifact@v3
with:
name: verifier_unit_test_coverage
path: verifier_unit_test_coverage
- name: Install lcov
run: sudo apt-get update && sudo apt-get install lcov
- name: Combine unit test coverage
run: lcov -a account_unit_test_coverage/lcov.info
-a oracle_unit_test_coverage/lcov.info
-a order_unit_test_coverage/lcov.info
-a vault_unit_test_coverage/lcov.info
-a extensions_unit_test_coverage/lcov.info
-a verifier_unit_test_coverage/lcov.info
--output-file periphery_unit_coverage.info
- name: Upload combined unit test lcov file
uses: actions/upload-artifact@v3
with:
name: periphery_unit_coverage
path: periphery_unit_coverage.info
- name: 'Periphery Unit Test Code Coverage Report'
uses: romeovs/lcov-reporter-action@v0.3.1
with:
title: '[Periphery] Unit Test Coverage Report'
lcov-file: periphery_unit_coverage.info
github-token: ${{ secrets.GITHUB_TOKEN }}
delete-old-comments: true
if: ${{ github.event_name == 'pull_request' && env.PARSER_BROKEN != 'true' }}
# [PERIPHERY INTEGRATION COVERAGE]
periphery-integration-test-coverage:
name: 'Periphery Integration Tests Coverage'
runs-on: ubuntu-latest
needs:
[
account-integration-test,
oracle-integration-test,
order-integration-test,
oracle-integrationSepolia-test,
vault-integration-test,
extensions-integration-test,
]
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- name: Download collateral account integration test coverage file
uses: actions/download-artifact@v3
with:
name: account_integration_test_coverage
path: account_integration_test_coverage
- name: Download oracle integration test coverage file
uses: actions/download-artifact@v3
with:
name: oracle_integration_test_coverage
path: oracle_integration_test_coverage
- name: Download oracle sepolia integration test coverage file
uses: actions/download-artifact@v3
with:
name: oracle_sepolia_integration_test_coverage
path: oracle_sepolia_integration_test_coverage
- name: Download order integration test coverage file
uses: actions/download-artifact@v3
with:
name: order_integration_test_coverage
path: order_integration_test_coverage
- name: Download vault integration test coverage file
uses: actions/download-artifact@v3
with:
name: vault_integration_test_coverage
path: vault_integration_test_coverage
- name: Download extensions integration test coverage file
uses: actions/download-artifact@v3
with:
name: extensions_integration_test_coverage
path: extensions_integration_test_coverage
- name: Install lcov
run: sudo apt-get update && sudo apt-get install lcov
- name: Combine integration test coverage
run: lcov -a account_integration_test_coverage/lcov.info
-a oracle_integration_test_coverage/lcov.info
-a oracle_sepolia_integration_test_coverage/lcov.info
-a order_integration_test_coverage/lcov.info
-a vault_integration_test_coverage/lcov.info
-a extensions_integration_test_coverage/lcov.info
--output-file periphery_integration_coverage.info
- name: Upload combined integration test lcov file
uses: actions/upload-artifact@v3
with:
name: periphery_integration_coverage
path: periphery_integration_coverage.info
- name: 'Periphery Integration Test Code Coverage Report'
uses: romeovs/lcov-reporter-action@v0.3.1
with:
title: '[Periphery] Integration Test Coverage Report'
lcov-file: periphery_integration_coverage.info
github-token: ${{ secrets.GITHUB_TOKEN }}
delete-old-comments: true
if: ${{ github.event_name == 'pull_request' && env.PARSER_BROKEN != 'true' }}
# [PERIPHERY COMBINED COVERAGE]
Periphery-test-coverage:
name: 'Periphery Combined Tests Coverage'
runs-on: ubuntu-latest
needs: [periphery-unit-test-coverage, periphery-integration-test-coverage]
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- uses: actions/checkout@v3
- name: Download periphery unit test coverage file
uses: actions/download-artifact@v3
with:
name: periphery_unit_coverage
path: periphery_unit_coverage
- name: Download periphery integration test coverage file
uses: actions/download-artifact@v3
with:
name: periphery_integration_coverage
path: periphery_integration_coverage
- name: Install lcov
run: sudo apt-get update && sudo apt-get install lcov
- name: Combine test coverage
run: lcov -a periphery_unit_coverage/periphery_unit_coverage.info -a periphery_integration_coverage/periphery_integration_coverage.info --output-file combined_coverage.info
- name: 'Periphery Combined Test Code Coverage Report'
uses: romeovs/lcov-reporter-action@v0.3.1
with:
title: '[Periphery] Combined Test Coverage Report'
lcov-file: combined_coverage.info
github-token: ${{ secrets.GITHUB_TOKEN }}
delete-old-comments: true
if: ${{ github.event_name == 'pull_request' && env.PARSER_BROKEN != 'true' }}