-
Notifications
You must be signed in to change notification settings - Fork 4
82 lines (75 loc) · 2.55 KB
/
python_ci.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: Python CI
on:
pull_request:
push:
branches: [main]
workflow_dispatch:
env:
MANIFOLD_API_KEY: ${{ secrets.MANIFOLD_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
BET_FROM_ADDRESS: ${{ secrets.BET_FROM_ADDRESS }}
BET_FROM_PRIVATE_KEY: ${{ secrets.BET_FROM_PRIVATE_KEY }}
GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }}
GNOSIS_RPC_URL: ${{ secrets.GNOSIS_RPC_URL }}
GRAPH_API_KEY: ${{ secrets.GRAPH_API_KEY }}
METACULUS_API_KEY: ${{ secrets.METACULUS_API_KEY }}
PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }}
PINATA_API_SECRET: ${{ secrets.PINATA_API_SECRET }}
jobs:
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/python_prepare
- name: Run mypy
run: poetry run mypy
pytest:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ '3.10.x', '3.11.x', '3.12.x' ]
test:
- name: Unit Tests
command: 'poetry run python -m pytest tests/ -p no:ape_test -vvv'
- name: Integration Tests
command: 'poetry run python -m pytest tests_integration/ -p no:ape_test -vvv'
- name: Integration with Local Chain
command: 'poetry run python -m pytest tests_integration_with_local_chain/ --disable-isolation -vvv'
name: pytest - Python ${{ matrix.python-version }} - ${{ matrix.test.name }}
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/python_prepare
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: 'Google Cloud Auth'
uses: ./.github/actions/gcp_prepare
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}
- name: Run Tests - ${{ matrix.test.name }}
run: ${{ matrix.test.command }}
black:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/python_prepare
- name: Check with black
run: poetry run black --check .
autoflake:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/python_prepare
- name: Check with autoflake
run: |
poetry run autoflake --in-place --remove-all-unused-imports --remove-unused-variables --recursive .
git diff --exit-code || exit 1
isort:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/python_prepare
- name: Check with isort
run: |
poetry run isort --profile black .
git diff --exit-code || exit 1