Skip to content

Commit 0c2ab5e

Browse files
committed
Performance changes for CI builds
- Split CI jobs into async and sync and further split into eth vs non-eth modules - Run ``unlocked_account`` pytest fixture as ``module`` scope. - Organize sync and async spaces in ``go_ethereum/common.py``
1 parent 9a796b9 commit 0c2ab5e

File tree

4 files changed

+227
-76
lines changed

4 files changed

+227
-76
lines changed

.circleci/config.yml

+180-36
Original file line numberDiff line numberDiff line change
@@ -248,28 +248,60 @@ jobs:
248248
# Please don't use this key for any shenanigans
249249
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
250250

251-
py37-integration-goethereum-ipc:
251+
py37-integration-goethereum-ipc_eth:
252252
<<: *geth_steps
253253
docker:
254254
- image: cimg/python:3.7
255255
environment:
256-
TOXENV: py37-integration-goethereum-ipc
256+
TOXENV: py37-integration-goethereum-ipc_eth
257257
GETH_VERSION: v1.10.17
258258

259-
py37-integration-goethereum-http:
259+
py37-integration-goethereum-ipc_non_eth:
260260
<<: *geth_steps
261261
docker:
262262
- image: cimg/python:3.7
263263
environment:
264-
TOXENV: py37-integration-goethereum-http
264+
TOXENV: py37-integration-goethereum-ipc_non_eth
265265
GETH_VERSION: v1.10.17
266266

267-
py37-integration-goethereum-ws:
267+
py37-integration-goethereum-http_eth:
268268
<<: *geth_steps
269269
docker:
270270
- image: cimg/python:3.7
271271
environment:
272-
TOXENV: py37-integration-goethereum-ws
272+
TOXENV: py37-integration-goethereum-http_eth
273+
GETH_VERSION: v1.10.17
274+
275+
py37-integration-goethereum-http_non_eth:
276+
<<: *geth_steps
277+
docker:
278+
- image: cimg/python:3.7
279+
environment:
280+
TOXENV: py37-integration-goethereum-http_non_eth
281+
GETH_VERSION: v1.10.17
282+
283+
py37-integration-goethereum-http_async:
284+
<<: *geth_steps
285+
docker:
286+
- image: cimg/python:3.7
287+
environment:
288+
TOXENV: py37-integration-goethereum-http_async
289+
GETH_VERSION: v1.10.17
290+
291+
py37-integration-goethereum-ws_eth:
292+
<<: *geth_steps
293+
docker:
294+
- image: cimg/python:3.7
295+
environment:
296+
TOXENV: py37-integration-goethereum-ws_eth
297+
GETH_VERSION: v1.10.17
298+
299+
py37-integration-goethereum-ws_non_eth:
300+
<<: *geth_steps
301+
docker:
302+
- image: cimg/python:3.7
303+
environment:
304+
TOXENV: py37-integration-goethereum-ws_non_eth
273305
GETH_VERSION: v1.10.17
274306

275307
py37-integration-ethtester-pyevm:
@@ -318,28 +350,60 @@ jobs:
318350
# Please don't use this key for any shenanigans
319351
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
320352

321-
py38-integration-goethereum-ipc:
353+
py38-integration-goethereum-ipc_eth:
354+
<<: *geth_steps
355+
docker:
356+
- image: cimg/python:3.8
357+
environment:
358+
TOXENV: py38-integration-goethereum-ipc_eth
359+
GETH_VERSION: v1.10.17
360+
361+
py38-integration-goethereum-ipc_non_eth:
362+
<<: *geth_steps
363+
docker:
364+
- image: cimg/python:3.8
365+
environment:
366+
TOXENV: py38-integration-goethereum-ipc_non_eth
367+
GETH_VERSION: v1.10.17
368+
369+
py38-integration-goethereum-http_eth:
370+
<<: *geth_steps
371+
docker:
372+
- image: cimg/python:3.8
373+
environment:
374+
TOXENV: py38-integration-goethereum-http_eth
375+
GETH_VERSION: v1.10.17
376+
377+
py38-integration-goethereum-http_non_eth:
378+
<<: *geth_steps
379+
docker:
380+
- image: cimg/python:3.8
381+
environment:
382+
TOXENV: py38-integration-goethereum-http_non_eth
383+
GETH_VERSION: v1.10.17
384+
385+
py38-integration-goethereum-http_async:
322386
<<: *geth_steps
323387
docker:
324388
- image: cimg/python:3.8
325389
environment:
326-
TOXENV: py38-integration-goethereum-ipc
390+
TOXENV: py38-integration-goethereum-http_async
327391
GETH_VERSION: v1.10.17
328392

329-
py38-integration-goethereum-http:
393+
py38-integration-goethereum-ws_eth:
330394
<<: *geth_steps
331395
docker:
332396
- image: cimg/python:3.8
333397
environment:
334-
TOXENV: py38-integration-goethereum-http
398+
TOXENV: py38-integration-goethereum-ws_eth
335399
GETH_VERSION: v1.10.17
336400

337-
py38-integration-goethereum-ws:
401+
py38-integration-goethereum-ws_non_eth:
338402
<<: *geth_steps
339403
docker:
340404
- image: cimg/python:3.8
341405
environment:
342-
TOXENV: py38-integration-goethereum-ws
406+
TOXENV: py38-integration-goethereum-ws_non_eth
343407
GETH_VERSION: v1.10.17
344408

345409
py38-integration-ethtester-pyevm:
@@ -383,28 +447,60 @@ jobs:
383447
# Please don't use this key for any shenanigans
384448
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
385449

386-
py39-integration-goethereum-ipc:
450+
py39-integration-goethereum-ipc_eth:
387451
<<: *geth_steps
388452
docker:
389453
- image: cimg/python:3.9
390454
environment:
391-
TOXENV: py39-integration-goethereum-ipc
455+
TOXENV: py39-integration-goethereum-ipc_eth
392456
GETH_VERSION: v1.10.17
393457

394-
py39-integration-goethereum-http:
458+
py39-integration-goethereum-ipc_non_eth:
395459
<<: *geth_steps
396460
docker:
397461
- image: cimg/python:3.9
398462
environment:
399-
TOXENV: py39-integration-goethereum-http
463+
TOXENV: py39-integration-goethereum-ipc_non_eth
400464
GETH_VERSION: v1.10.17
401465

402-
py39-integration-goethereum-ws:
466+
py39-integration-goethereum-http_eth:
403467
<<: *geth_steps
404468
docker:
405469
- image: cimg/python:3.9
406470
environment:
407-
TOXENV: py39-integration-goethereum-ws
471+
TOXENV: py39-integration-goethereum-http_eth
472+
GETH_VERSION: v1.10.17
473+
474+
py39-integration-goethereum-http_non_eth:
475+
<<: *geth_steps
476+
docker:
477+
- image: cimg/python:3.9
478+
environment:
479+
TOXENV: py39-integration-goethereum-http_non_eth
480+
GETH_VERSION: v1.10.17
481+
482+
py39-integration-goethereum-http_async:
483+
<<: *geth_steps
484+
docker:
485+
- image: cimg/python:3.9
486+
environment:
487+
TOXENV: py39-integration-goethereum-http_async
488+
GETH_VERSION: v1.10.17
489+
490+
py39-integration-goethereum-ws_eth:
491+
<<: *geth_steps
492+
docker:
493+
- image: cimg/python:3.9
494+
environment:
495+
TOXENV: py39-integration-goethereum-ws_eth
496+
GETH_VERSION: v1.10.17
497+
498+
py39-integration-goethereum-ws_non_eth:
499+
<<: *geth_steps
500+
docker:
501+
- image: cimg/python:3.9
502+
environment:
503+
TOXENV: py39-integration-goethereum-ws_non_eth
408504
GETH_VERSION: v1.10.17
409505

410506
py39-integration-ethtester-pyevm:
@@ -448,28 +544,60 @@ jobs:
448544
# Please don't use this key for any shenanigans
449545
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
450546

451-
py310-integration-goethereum-ipc:
547+
py310-integration-goethereum-ipc_eth:
548+
<<: *geth_steps
549+
docker:
550+
- image: cimg/python:3.10
551+
environment:
552+
TOXENV: py310-integration-goethereum-ipc_eth
553+
GETH_VERSION: v1.10.17
554+
555+
py310-integration-goethereum-ipc_non_eth:
556+
<<: *geth_steps
557+
docker:
558+
- image: cimg/python:3.10
559+
environment:
560+
TOXENV: py310-integration-goethereum-ipc_non_eth
561+
GETH_VERSION: v1.10.17
562+
563+
py310-integration-goethereum-http_eth:
564+
<<: *geth_steps
565+
docker:
566+
- image: cimg/python:3.10
567+
environment:
568+
TOXENV: py310-integration-goethereum-http_eth
569+
GETH_VERSION: v1.10.17
570+
571+
py310-integration-goethereum-http_non_eth:
572+
<<: *geth_steps
573+
docker:
574+
- image: cimg/python:3.10
575+
environment:
576+
TOXENV: py310-integration-goethereum-http_non_eth
577+
GETH_VERSION: v1.10.17
578+
579+
py310-integration-goethereum-http_async:
452580
<<: *geth_steps
453581
docker:
454582
- image: cimg/python:3.10
455583
environment:
456-
TOXENV: py310-integration-goethereum-ipc
584+
TOXENV: py310-integration-goethereum-http_async
457585
GETH_VERSION: v1.10.17
458586

459-
py310-integration-goethereum-http:
587+
py310-integration-goethereum-ws_eth:
460588
<<: *geth_steps
461589
docker:
462590
- image: cimg/python:3.10
463591
environment:
464-
TOXENV: py310-integration-goethereum-http
592+
TOXENV: py310-integration-goethereum-ws_eth
465593
GETH_VERSION: v1.10.17
466594

467-
py310-integration-goethereum-ws:
595+
py310-integration-goethereum-ws_non_eth:
468596
<<: *geth_steps
469597
docker:
470598
- image: cimg/python:3.10
471599
environment:
472-
TOXENV: py310-integration-goethereum-ws
600+
TOXENV: py310-integration-goethereum-ws_non_eth
473601
GETH_VERSION: v1.10.17
474602

475603
py310-integration-ethtester-pyevm:
@@ -509,30 +637,46 @@ workflows:
509637
- benchmark
510638
- py37-ens
511639
- py37-ethpm
512-
- py37-integration-goethereum-ipc
513-
- py37-integration-goethereum-http
514-
- py37-integration-goethereum-ws
640+
- py37-integration-goethereum-ipc_eth
641+
- py37-integration-goethereum-ipc_non_eth
642+
- py37-integration-goethereum-http_eth
643+
- py37-integration-goethereum-http_non_eth
644+
- py37-integration-goethereum-http_async
645+
- py37-integration-goethereum-ws_eth
646+
- py37-integration-goethereum-ws_non_eth
515647
- py37-integration-ethtester-pyevm
516648
- py37-wheel-cli
517649
- py37-wheel-cli-windows
518650
- py38-ens
519651
- py38-ethpm
520-
- py38-integration-goethereum-ipc
521-
- py38-integration-goethereum-http
522-
- py38-integration-goethereum-ws
652+
- py38-integration-goethereum-ipc_eth
653+
- py38-integration-goethereum-ipc_non_eth
654+
- py38-integration-goethereum-http_eth
655+
- py38-integration-goethereum-http_non_eth
656+
- py38-integration-goethereum-http_async
657+
- py38-integration-goethereum-ws_eth
658+
- py38-integration-goethereum-ws_non_eth
523659
- py38-integration-ethtester-pyevm
524660
- py38-wheel-cli
525661
- py39-ens
526662
- py39-ethpm
527-
- py39-integration-goethereum-ipc
528-
- py39-integration-goethereum-http
529-
- py39-integration-goethereum-ws
663+
- py39-integration-goethereum-ipc_eth
664+
- py39-integration-goethereum-ipc_non_eth
665+
- py39-integration-goethereum-http_eth
666+
- py39-integration-goethereum-http_non_eth
667+
- py39-integration-goethereum-http_async
668+
- py39-integration-goethereum-ws_eth
669+
- py39-integration-goethereum-ws_non_eth
530670
- py39-integration-ethtester-pyevm
531671
- py39-wheel-cli
532672
- py310-ens
533673
- py310-ethpm
534-
- py310-integration-goethereum-ipc
535-
- py310-integration-goethereum-http
536-
- py310-integration-goethereum-ws
674+
- py310-integration-goethereum-ipc_eth
675+
- py310-integration-goethereum-ipc_non_eth
676+
- py310-integration-goethereum-http_eth
677+
- py310-integration-goethereum-http_non_eth
678+
- py310-integration-goethereum-http_async
679+
- py310-integration-goethereum-ws_eth
680+
- py310-integration-goethereum-ws_non_eth
537681
- py310-integration-ethtester-pyevm
538682
- py310-wheel-cli

tests/integration/go_ethereum/conftest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def emitter_contract_address(emitter_contract, address_conversion_func):
156156
return address_conversion_func(emitter_contract.address)
157157

158158

159-
@pytest.fixture
159+
@pytest.fixture(scope="module")
160160
def unlocked_account(w3, unlockable_account, unlockable_account_pw):
161161
w3.geth.personal.unlock_account(unlockable_account, unlockable_account_pw)
162162
yield unlockable_account

0 commit comments

Comments
 (0)