Skip to content

Commit

Permalink
Performance changes for CI builds
Browse files Browse the repository at this point in the history
- 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``
  • Loading branch information
fselmo committed Jun 1, 2022
1 parent 6040b53 commit f1ce16f
Show file tree
Hide file tree
Showing 4 changed files with 227 additions and 76 deletions.
216 changes: 180 additions & 36 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,28 +248,60 @@ jobs:
# Please don't use this key for any shenanigans
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22

py37-integration-goethereum-ipc:
py37-integration-goethereum-ipc_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.7
environment:
TOXENV: py37-integration-goethereum-ipc
TOXENV: py37-integration-goethereum-ipc_eth
GETH_VERSION: v1.10.17

py37-integration-goethereum-http:
py37-integration-goethereum-ipc_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.7
environment:
TOXENV: py37-integration-goethereum-http
TOXENV: py37-integration-goethereum-ipc_non_eth
GETH_VERSION: v1.10.17

py37-integration-goethereum-ws:
py37-integration-goethereum-http_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.7
environment:
TOXENV: py37-integration-goethereum-ws
TOXENV: py37-integration-goethereum-http_eth
GETH_VERSION: v1.10.17

py37-integration-goethereum-http_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.7
environment:
TOXENV: py37-integration-goethereum-http_non_eth
GETH_VERSION: v1.10.17

py37-integration-goethereum-http_async:
<<: *geth_steps
docker:
- image: cimg/python:3.7
environment:
TOXENV: py37-integration-goethereum-http_async
GETH_VERSION: v1.10.17

py37-integration-goethereum-ws_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.7
environment:
TOXENV: py37-integration-goethereum-ws_eth
GETH_VERSION: v1.10.17

py37-integration-goethereum-ws_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.7
environment:
TOXENV: py37-integration-goethereum-ws_non_eth
GETH_VERSION: v1.10.17

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

py38-integration-goethereum-ipc:
py38-integration-goethereum-ipc_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-integration-goethereum-ipc_eth
GETH_VERSION: v1.10.17

py38-integration-goethereum-ipc_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-integration-goethereum-ipc_non_eth
GETH_VERSION: v1.10.17

py38-integration-goethereum-http_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-integration-goethereum-http_eth
GETH_VERSION: v1.10.17

py38-integration-goethereum-http_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-integration-goethereum-http_non_eth
GETH_VERSION: v1.10.17

py38-integration-goethereum-http_async:
<<: *geth_steps
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-integration-goethereum-ipc
TOXENV: py38-integration-goethereum-http_async
GETH_VERSION: v1.10.17

py38-integration-goethereum-http:
py38-integration-goethereum-ws_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-integration-goethereum-http
TOXENV: py38-integration-goethereum-ws_eth
GETH_VERSION: v1.10.17

py38-integration-goethereum-ws:
py38-integration-goethereum-ws_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.8
environment:
TOXENV: py38-integration-goethereum-ws
TOXENV: py38-integration-goethereum-ws_non_eth
GETH_VERSION: v1.10.17

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

py39-integration-goethereum-ipc:
py39-integration-goethereum-ipc_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-integration-goethereum-ipc
TOXENV: py39-integration-goethereum-ipc_eth
GETH_VERSION: v1.10.17

py39-integration-goethereum-http:
py39-integration-goethereum-ipc_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-integration-goethereum-http
TOXENV: py39-integration-goethereum-ipc_non_eth
GETH_VERSION: v1.10.17

py39-integration-goethereum-ws:
py39-integration-goethereum-http_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-integration-goethereum-ws
TOXENV: py39-integration-goethereum-http_eth
GETH_VERSION: v1.10.17

py39-integration-goethereum-http_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-integration-goethereum-http_non_eth
GETH_VERSION: v1.10.17

py39-integration-goethereum-http_async:
<<: *geth_steps
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-integration-goethereum-http_async
GETH_VERSION: v1.10.17

py39-integration-goethereum-ws_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-integration-goethereum-ws_eth
GETH_VERSION: v1.10.17

py39-integration-goethereum-ws_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.9
environment:
TOXENV: py39-integration-goethereum-ws_non_eth
GETH_VERSION: v1.10.17

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

py310-integration-goethereum-ipc:
py310-integration-goethereum-ipc_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.10
environment:
TOXENV: py310-integration-goethereum-ipc_eth
GETH_VERSION: v1.10.17

py310-integration-goethereum-ipc_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.10
environment:
TOXENV: py310-integration-goethereum-ipc_non_eth
GETH_VERSION: v1.10.17

py310-integration-goethereum-http_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.10
environment:
TOXENV: py310-integration-goethereum-http_eth
GETH_VERSION: v1.10.17

py310-integration-goethereum-http_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.10
environment:
TOXENV: py310-integration-goethereum-http_non_eth
GETH_VERSION: v1.10.17

py310-integration-goethereum-http_async:
<<: *geth_steps
docker:
- image: cimg/python:3.10
environment:
TOXENV: py310-integration-goethereum-ipc
TOXENV: py310-integration-goethereum-http_async
GETH_VERSION: v1.10.17

py310-integration-goethereum-http:
py310-integration-goethereum-ws_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.10
environment:
TOXENV: py310-integration-goethereum-http
TOXENV: py310-integration-goethereum-ws_eth
GETH_VERSION: v1.10.17

py310-integration-goethereum-ws:
py310-integration-goethereum-ws_non_eth:
<<: *geth_steps
docker:
- image: cimg/python:3.10
environment:
TOXENV: py310-integration-goethereum-ws
TOXENV: py310-integration-goethereum-ws_non_eth
GETH_VERSION: v1.10.17

py310-integration-ethtester-pyevm:
Expand Down Expand Up @@ -509,30 +637,46 @@ workflows:
- benchmark
- py37-ens
- py37-ethpm
- py37-integration-goethereum-ipc
- py37-integration-goethereum-http
- py37-integration-goethereum-ws
- py37-integration-goethereum-ipc_eth
- py37-integration-goethereum-ipc_non_eth
- py37-integration-goethereum-http_eth
- py37-integration-goethereum-http_non_eth
- py37-integration-goethereum-http_async
- py37-integration-goethereum-ws_eth
- py37-integration-goethereum-ws_non_eth
- py37-integration-ethtester-pyevm
- py37-wheel-cli
- py37-wheel-cli-windows
- py38-ens
- py38-ethpm
- py38-integration-goethereum-ipc
- py38-integration-goethereum-http
- py38-integration-goethereum-ws
- py38-integration-goethereum-ipc_eth
- py38-integration-goethereum-ipc_non_eth
- py38-integration-goethereum-http_eth
- py38-integration-goethereum-http_non_eth
- py38-integration-goethereum-http_async
- py38-integration-goethereum-ws_eth
- py38-integration-goethereum-ws_non_eth
- py38-integration-ethtester-pyevm
- py38-wheel-cli
- py39-ens
- py39-ethpm
- py39-integration-goethereum-ipc
- py39-integration-goethereum-http
- py39-integration-goethereum-ws
- py39-integration-goethereum-ipc_eth
- py39-integration-goethereum-ipc_non_eth
- py39-integration-goethereum-http_eth
- py39-integration-goethereum-http_non_eth
- py39-integration-goethereum-http_async
- py39-integration-goethereum-ws_eth
- py39-integration-goethereum-ws_non_eth
- py39-integration-ethtester-pyevm
- py39-wheel-cli
- py310-ens
- py310-ethpm
- py310-integration-goethereum-ipc
- py310-integration-goethereum-http
- py310-integration-goethereum-ws
- py310-integration-goethereum-ipc_eth
- py310-integration-goethereum-ipc_non_eth
- py310-integration-goethereum-http_eth
- py310-integration-goethereum-http_non_eth
- py310-integration-goethereum-http_async
- py310-integration-goethereum-ws_eth
- py310-integration-goethereum-ws_non_eth
- py310-integration-ethtester-pyevm
- py310-wheel-cli
2 changes: 1 addition & 1 deletion tests/integration/go_ethereum/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ def emitter_contract_address(emitter_contract, address_conversion_func):
return address_conversion_func(emitter_contract.address)


@pytest.fixture
@pytest.fixture(scope="module")
def unlocked_account(w3, unlockable_account, unlockable_account_pw):
w3.geth.personal.unlock_account(unlockable_account, unlockable_account_pw)
yield unlockable_account
Expand Down
Loading

0 comments on commit f1ce16f

Please sign in to comment.