Skip to content

Uniswap v3 multhops trade pricing #4400

Uniswap v3 multhops trade pricing

Uniswap v3 multhops trade pricing #4400

name: Automated test suite
on:
push:
branches: [ master ]
tags: [ v* ]
pull_request:
branches: [ master ]
jobs:
automated-test-suite:
timeout-minutes: 40
# Use paid faster Github Actions runner
runs-on:
group: Beefy runners
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
# Do not let Poetry to install again if we do not detect a lock file change
- name: Load cached venv
uses: actions/cache@v2
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
# Speed up testing by not downloading integration test data from the production server
# https://github.com/actions/cache
# See conftest.persistent_test_client
- name: Cache datasetes
id: cache-datasets-load
uses: actions/cache@v4
with:
path: ~/.cache/trading-strategy-tests
key: cache-datasets
# Needed for Anvil
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
# pick a nightly release from: https://github.com/foundry-rs/foundry/releases
version: 'nightly-de33b6af53005037b463318d2628b5cfcaf39916'
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: |
poetry install --no-interaction --all-extras
# Run testa parallel, do not run slow tests before Docker image build.
# Note that we limit concurrency to 2 workers as 4 workers crashed without an error message on Github CI.
# I suspect out of memory situation that is not reported to the user.
# Print 20 slowest tests when done.
# tests/**/test*.py -> workaround issues by scanning tests folder in git submodules and importing them (even if not running)
- name: Run test scripts
run: |
poetry run pytest --tb=native --dist loadscope -n 6 --durations=20 -m "not slow_test_group" --timeout=300
env:
TRADING_STRATEGY_API_KEY: ${{ secrets.TRADING_STRATEGY_API_KEY }}
BNB_CHAIN_JSON_RPC: ${{ secrets.BNB_CHAIN_JSON_RPC }}
# https://stackoverflow.com/a/75274358/315168
PYDEVD_DISABLE_FILE_VALIDATION: 1
JSON_RPC_POLYGON: ${{ secrets.JSON_RPC_POLYGON }}
JSON_RPC_POLYGON_ARCHIVE: ${{ secrets.JSON_RPC_POLYGON_ARCHIVE }}
- name: Save datasets
id: cache-datasets-save
uses: actions/cache/save@v4
with:
path: ~/.cache/trading-strategy-tests
key: cache-datasets