Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/tooling-problem.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ assignees: ''

### Metadata

* Python: <!-- Something like: CPython 3.7 or PyPy 7.3 -->
* Python: <!-- Something like: CPython 3.11 -->
* Operating System: <!-- osx/linux/win/... -->

#### `pip freeze`
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup-uv/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Setup uv and tox
description: Install uv, Python, and tox for CI jobs
inputs:
python-version:
description: Python version to install (e.g. "3.14", "pypy3.11")
description: Python version to install (e.g. "3.14")
default: "3.13"
enable-cache:
description: Enable uv dependency cache
Expand Down
34 changes: 0 additions & 34 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,23 +77,6 @@ jobs:
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}

pypy3:
runs-on: [self-hosted-ghr, size-xl-x64]
needs: static
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
- uses: ./.github/actions/setup-uv
with:
python-version: "pypy3.11"
- uses: ./.github/actions/setup-env
- name: Run pypy3 tests
run: tox -e pypy3
env:
PYPY_GC_MAX: "2G"
PYPY_GC_MIN: "1G"

json_infra:
runs-on: [self-hosted-ghr, size-xl-x64]
needs: static
Expand Down Expand Up @@ -127,20 +110,3 @@ jobs:
env:
PYTEST_XDIST_AUTO_NUM_WORKERS: auto

tests_pytest_pypy3:
runs-on: [self-hosted-ghr, size-xl-x64]
needs: static
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
with:
submodules: recursive
- uses: ./.github/actions/setup-uv
with:
python-version: "pypy3.11"
- uses: ./.github/actions/setup-env
- uses: ./.github/actions/build-evmone
- name: Run pypy3 tests
run: tox -e tests_pytest_pypy3
env:
PYPY_GC_MAX: "2G"
PYPY_GC_MIN: "1G"
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@ Running the tests necessary to merge into the repository requires:

- [`uv`](https://docs.astral.sh/uv/) package manager,
- Python 3.11.x,
- [PyPy](https://www.pypy.org/) [7.3.19](https://downloads.python.org/pypy/) or later.
- `geth` installed and present in `$PATH`.

`execution-specs` depends on a submodule that contains common tests that are run across all clients, so we need to clone the repo with the --recursive flag. Example:
Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: PyPy",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Intended Audience :: Developers",
"Natural Language :: English",
Expand Down Expand Up @@ -247,7 +248,7 @@ mkdocs = [
"mkdocstrings-python>=1.0.0,<2",
"pillow>=12,<13",
"pyspelling>=2.8.2,<3",
"lxml>=6.0.0,<7", # needs to be >= 6.0 for pypy
"lxml>=6.0.0,<7",
]
dev = [
{ include-group = "test" },
Expand Down
48 changes: 0 additions & 48 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ requires =
# Get a description of all available environments with `uvx tox -av`
envlist =
py3
pypy3
json_infra
static
tests_pytest_py3
tests_pytest_pypy3
tests_benchmark_pytest_py3
benchmark-gas-values
benchmark-fixed-opcode-cli
Expand Down Expand Up @@ -50,26 +48,6 @@ commands =
{posargs} \
src

[testenv:tests_pytest_pypy3]
description = Run the testing package unit tests (with PyPy)
# overwrite default groups (dev) to avoid installing optimized in tox envs using pypy
dependency_groups =
test
lint # TODO: add ruff for gentest; remove as part of ethereum/execution-specs#1715
passenv =
PYPY_GC_MAX
PYPY_GC_MIN
# run inside the package directory so pytest picks up packages/testing/pyproject.toml
changedir = {toxinidir}/packages/testing
package = editable
commands =
pytest \
-n auto --maxprocesses 6 \
--basetemp="{temp_dir}/pytest" \
--ignore=src/execution_testing/cli/pytest_commands/plugins/filler/tests/test_benchmarking.py \
{posargs} \
src

[testenv:tests_benchmark_pytest_py3]
description = Run benchmark framework unit tests (with Python)
# Running in serial as not many tests
Expand Down Expand Up @@ -113,32 +91,6 @@ commands =
{posargs} \
tests

[testenv:pypy3]
description = Fill the tests using EELS (with PyPy)
# see comment for tests_pytest_pypy3
dependency_groups =
test
passenv =
PYPY_GC_MAX
PYPY_GC_MIN
commands =
fill \
--skip-index \
--no-html \
--tb=no \
--show-capture=no \
--disable-warnings \
-m "not slow and not benchmark and not derived_test" \
-n auto --maxprocesses 7 \
# loadgroup: serialize xdist_group("bigmem") tests onto one worker to limit peak memory
--dist=loadgroup \
--basetemp="{temp_dir}/pytest" \
--log-to "{toxworkdir}/logs" \
--clean \
--until Amsterdam \
{posargs} \
tests

[testenv:benchmark-gas-values]
description = Run benchmark tests with `--gas-benchmark-values`
dependency_groups =
Expand Down