-
Notifications
You must be signed in to change notification settings - Fork 1
145 lines (118 loc) · 4.15 KB
/
github-actions.yml
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
name: Build Actions
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Load Cached Poetry
id: cached-poetry
uses: actions/cache@v3
with:
path: /home/runner/.local
key: poetry-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}
- name: Add Cached Poetry to PATH
if: steps.cached-poetry.outputs.cache-hit == 'true'
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: Install Poetry
if: steps.cached-poetry.outputs.cache-hit != 'true'
uses: snok/install-poetry@v1
- name: Load Cached Virtualenv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install Dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: |
poetry config virtualenvs.in-project true
poetry install --no-interaction --all-extras
lint:
runs-on: ubuntu-latest
needs: build
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Set up python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Load Cached Virtualenv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Load Cached Poetry
id: cached-poetry
uses: actions/cache@v3
with:
path: /home/runner/.local
key: poetry-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}
- name: Add Cached Poetry to PATH
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: Run Pre-Commit
run: poetry run pre-commit run --all-files
test-uni-v3:
runs-on: ubuntu-latest
needs: build
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Set up python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Load Cached Virtualenv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Load Cached Poetry
id: cached-poetry
uses: actions/cache@v3
with:
path: /home/runner/.local
key: poetry-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}
- name: Add Cached Poetry to PATH
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: Run Uniswap V3 Tests
run: poetry run pytest -v tests/uniswap_v3
validate-docs:
runs-on: ubuntu-latest
needs: build
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Set up python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Load Cached Virtualenv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Load Cached Poetry
id: cached-poetry
uses: actions/cache@v3
with:
path: /home/runner/.local
key: poetry-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}
- name: Add Cached Poetry to PATH
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH
- name: Build Docs
run: poetry run sphinx-build -b html docs/source _build
- name: Check Documentation Links
run: poetry run sphinx-build -b linkcheck docs/source _build