fix: Python plugin integration tests on CI #1158
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
name: CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
platform: [ubuntu-latest] | |
node-version: [18, 20] | |
python-version: ['3.10'] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: Use Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Use Poetry | |
uses: abatilo/actions-poetry@v2 | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
- name: Install Node.js dependencies | |
run: npm ci | |
- name: Install Python dependencies | |
run: poetry config virtualenvs.in-project true && npm run python:install | |
- name: Start containers | |
run: npm run docker:regtest && npm run docker:solidity | |
- name: Deploy Ethereum contracts | |
run: npm run docker:solidity:deploy | |
- name: Set Python symlink in regtest container | |
run: docker exec regtest mkdir -p $pythonLocation/bin && | |
docker exec regtest ln -s /usr/bin/python3 $pythonLocation/bin/python | |
- name: Compile | |
run: npm run compile | |
- name: Prettier | |
run: npm run prettier:check | |
- name: Lint | |
run: npm run lint | |
- name: Python lint | |
run: npm run python:lint | |
- name: Unit tests | |
run: npm run test:unit | |
- name: Integration tests | |
run: node run-int.js | |
- name: Python plugin tests | |
run: npm run python:test |