CI job for testing deployment functionality, and validate registries #1212
Workflow file for this run
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
on: ["push", "pull_request"] | |
name: main workflow | |
env: | |
# ETHERSCAN_TOKEN: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# WEB3_INFURA_PROJECT_ID: | |
# increasing available memory for node reduces issues with ganache crashing | |
# https://nodejs.org/api/cli.html#cli_max_old_space_size_size_in_megabytes | |
NODE_OPTIONS: --max_old_space_size=4096 | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache Compiler Installations | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.solcx | |
~/.vvm | |
key: compiler-cache | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.x | |
cache: "npm" | |
- run: npm install | |
- name: Setup Python 3.11 | |
uses: actions/setup-python@v4 | |
with: | |
cache: "pip" | |
python-version: "3.11" | |
- run: pip install -e . -r requirements.txt | |
- name: Run Ape Tests | |
run: ape test | |
- name: Run Deployment Test | |
run: ape run ci deploy_child | |
- name: Run Registry Scripts to list contracts | |
run: | | |
ape run list_contracts --domain lynx | |
ape run list_contracts --domain tapir | |
ape run list_contracts --domain mainnet | |
- name: Build npm package | |
run: npm run build | |
- name: Run TS Tests | |
run: npm run test | |
linting: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.x | |
cache: "npm" | |
- run: npm install | |
- name: Solidity Lint | |
run: npm run solhint | |
- name: TypeScript Lint | |
run: npm run lint | |
- name: Python Lint | |
uses: cclauss/[email protected] | |
continue-on-error: true | |
with: | |
args: "pylint **/*.py" |