Test with selfhost runner #1358
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: Automated test suite | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
test-python: | |
runs-on: [self-hosted, DEFI] | |
# group: selfhost-docker | |
# Only run the action for the latest push | |
# See https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
# TODO: we only need contracts/aave-v3-deploy for tests | |
# but there does not seem to be an option to choose which submodules to checkout | |
# https://github.com/actions/checkout | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
cache: 'npm' | |
cache-dependency-path: contracts/aave-v3-deploy/package-lock.json | |
# pnpm needed to compile Enzyme | |
# We need version 7 to be exact. | |
- name: Install pnpm | |
run: | | |
SHELL="/bin/bash" | |
export SHELL | |
echo $SHELL | |
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=7.27.1 sh - | |
PNPM_HOME="$HOME/.local/share/pnpm" | |
echo $PNPM_HOME >> $GITHUB_PATH | |
- name: Add pipx to PATH | |
run: echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Install poetry | |
run: pipx install poetry | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v3 | |
with: | |
python-version: '3.12' | |
cache: 'poetry' | |
- name: Install dependencies | |
run: | | |
poetry env use '3.12' | |
poetry install --all-extras | |
- 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' | |
# We also work around race condition for setting up Aave NPM packages. | |
- name: Setup Aave v3 for tests | |
run: | | |
poetry run install-aave-for-testing | |
# We also work around race condition for setting up Aave NPM packages. | |
- name: Build needed contracts | |
run: | | |
pnpm --version | |
make guard in-house | |
# Run tests parallel. | |
- name: Run test scripts | |
run: | | |
poetry run pytest --tb=native -n auto | |
env: | |
BNB_CHAIN_JSON_RPC: ${{ secrets.BNB_CHAIN_JSON_RPC }} | |
JSON_RPC_POLYGON_ARCHIVE: ${{ secrets.JSON_RPC_POLYGON_ARCHIVE }} | |
JSON_RPC_POLYGON: ${{ secrets.JSON_RPC_POLYGON }} | |
JSON_RPC_ETHEREUM: ${{ secrets.JSON_RPC_ETHEREUM }} | |
# Disabled for now | |
# https://github.com/reviewdog/action-flake8/issues/40 | |
# - name: Run flake8 | |
# uses: reviewdog/action-flake8@v3 | |
# with: | |
# github_token: ${{ secrets.GITHUB_TOKEN }} |