@@ -53,11 +53,12 @@ jobs:
53
53
python-version : " 3.11"
54
54
cache : " pip"
55
55
56
- - name : Install Tox
57
- run : pip install tox
56
+ - name : Install deps
57
+ # TODO these should really be in setup.py
58
+ run : pip install shibuya sphinx sphinx-copybutton
58
59
59
- - name : Run Tox
60
- run : TOXENV= docs tox -r
60
+ - name : Run docs
61
+ run : sphinx-build -E -b html docs dist/docs -n -q --color
61
62
62
63
# "Regular"/core tests.
63
64
tests :
68
69
opt-mode : ["gas", "none", "codesize"]
69
70
evm-version : [shanghai]
70
71
debug : [true, false]
72
+ memorymock : [false]
71
73
72
74
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#expanding-or-adding-matrix-configurations
73
75
include :
@@ -80,16 +82,27 @@ jobs:
80
82
debug : false
81
83
opt-mode : gas
82
84
evm-version : paris
85
+
86
+ # redundant rule, for clarity
83
87
- python-version : ["3.11", "311"]
84
88
debug : false
85
89
opt-mode : gas
86
90
evm-version : shanghai
91
+
87
92
# enable when py-evm makes it work:
88
93
# - python-version: ["3.11", "311"]
89
94
# debug: false
90
95
# opt-mode: gas
91
96
# evm-version: cancun
92
97
98
+ # run with `--memorymock`, but only need to do it one configuration
99
+ # TODO: consider removing the memorymock tests
100
+ - python-version : ["3.11", "311"]
101
+ opt-mode : gas
102
+ debug : false
103
+ evm-version : shanghai
104
+ memorymock : true
105
+
93
106
# run across other python versions. we don't really need to run all
94
107
# modes across all python versions - one is enough
95
108
- python-version : ["3.10", "310"]
@@ -101,7 +114,7 @@ jobs:
101
114
debug : false
102
115
evm-version : shanghai
103
116
104
- name : py${{ matrix.python-version[1] }}-opt-${{ matrix.opt-mode }}${{ matrix.debug && '-debug' || '' }}-${{ matrix.evm-version }}
117
+ name : py${{ matrix.python-version[1] }}-opt-${{ matrix.opt-mode }}${{ matrix.debug && '-debug' || '' }}${{ matrix.memorymock && '-memorymock' || '' }} -${{ matrix.evm-version }}
105
118
106
119
steps :
107
120
- uses : actions/checkout@v4
@@ -128,6 +141,7 @@ jobs:
128
141
--optimize ${{ matrix.opt-mode }} \
129
142
--evm-version ${{ matrix.evm-version }} \
130
143
${{ matrix.debug && '--enable-compiler-debug-mode' || '' }} \
144
+ ${{ matrix.memorymock && '--memorymock' || '' }} \
131
145
--showlocals -r aR \
132
146
tests/
133
147
@@ -168,17 +182,23 @@ jobs:
168
182
python-version : " 3.11"
169
183
cache : " pip"
170
184
171
- - name : Install Tox
172
- run : pip install tox
185
+ - name : Install dependencies
186
+ run : pip install .[test]
173
187
174
188
# fetch test durations
175
189
# NOTE: if the tests get poorly distributed, run this and commit the resulting `.test_durations` file to the `vyper-test-durations` repo.
176
- # `TOXENV=fuzzing tox -r -- --store-durations -r aR tests/`
190
+ # `pytest -m "fuzzing" --store-durations -r aR tests/`
177
191
- name : Fetch test-durations
178
- run : curl --location "https://raw.githubusercontent.com/vyperlang/vyper-test-durations/5982755ee8459f771f2e8622427c36494646e1dd /test_durations" -o .test_durations
192
+ run : curl --location "https://raw.githubusercontent.com/vyperlang/vyper-test-durations/master /test_durations" -o .test_durations
179
193
180
- - name : Run Tox
181
- run : TOXENV=fuzzing tox -r -- --splits 60 --group ${{ matrix.group }} --splitting-algorithm least_duration -r aR tests/
194
+ - name : Run tests
195
+ run : |
196
+ pytest \
197
+ -m "fuzzing" \
198
+ --splits 60 \
199
+ --group ${{ matrix.group }} \
200
+ --splitting-algorithm least_duration \
201
+ -r aR tests/
182
202
183
203
- name : Upload Coverage
184
204
uses : codecov/codecov-action@v4
@@ -197,30 +217,3 @@ jobs:
197
217
- name : Check slow tests all succeeded
198
218
if : ${{ needs.fuzzing.result != 'success' }}
199
219
run : exit 1
200
-
201
- memory :
202
- runs-on : ubuntu-latest
203
-
204
- steps :
205
- - uses : actions/checkout@v4
206
- with :
207
- # need to fetch unshallow so that setuptools_scm can infer the version
208
- fetch-depth : 0
209
-
210
- - name : Set up Python 3.11
211
- uses : actions/setup-python@v5
212
- with :
213
- python-version : " 3.11"
214
- cache : " pip"
215
-
216
- - name : Install Tox
217
- run : pip install tox
218
-
219
- - name : Run Tox
220
- run : TOXENV=memory tox -r
221
-
222
- - name : Upload Coverage
223
- uses : codecov/codecov-action@v4
224
- with :
225
- token : ${{ secrets.CODECOV_TOKEN }}
226
- file : ./coverage.xml
0 commit comments