Skip to content

Commit ecd3462

Browse files
spencer-tbfselmo
andauthored
chore(weld): update readme, fill/consume/execute logs for the weld (#2302)
* chore(docs): update readme for weld. * chore(docs): reformat readme. * chore: log weld for fill, consume and execute. * chore: point pr template to issue. * Update src/pytest_plugins/consume/consume.py Co-authored-by: felipe <[email protected]> * Update src/pytest_plugins/consume/consume.py Co-authored-by: felipe <[email protected]> * chore: bump fill/execute like consume suggestions. * Update README.md Co-authored-by: felipe <[email protected]> * Update README.md Co-authored-by: felipe <[email protected]> --------- Co-authored-by: felipe <[email protected]>
1 parent fb4348d commit ecd3462

File tree

5 files changed

+181
-24
lines changed

5 files changed

+181
-24
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,5 @@
1-
## 🗒️ Description
2-
<!-- Brief description of the changes introduced by this PR -->
3-
<!-- Don't submit this PR if it could expose a mainnet bug, see SECURITY.md in the repo root for details -->
4-
5-
## 🔗 Related Issues or PRs
6-
<!-- Reference any related issues using the GitHub issue number (e.g., Fixes #123). Default is N/A. -->
7-
N/A.
8-
9-
## ✅ Checklist
10-
<!-- Please check off all required items. For those that don't apply remove them accordingly. -->
11-
12-
- [ ] All: Ran fast `tox` checks to avoid unnecessary CI fails, see also [Code Standards](https://eest.ethereum.org/main/getting_started/code_standards/) and [Enabling Pre-commit Checks](https://eest.ethereum.org/main/dev/precommit/):
13-
```console
14-
uvx --with=tox-uv tox -e lint,typecheck,spellcheck,markdownlint
15-
```
16-
- [ ] All: PR title adheres to the [repo standard](https://eest.ethereum.org/main/getting_started/contributing/?h=contri#commit-messages-issue-and-pr-titles) - it will be used as the squash commit message and should start `type(scope):`.
17-
- [ ] All: Considered adding an entry to [CHANGELOG.md](/ethereum/execution-spec-tests/blob/main/docs/CHANGELOG.md).
18-
- [ ] All: Considered updating the online docs in the [./docs/](/ethereum/execution-spec-tests/blob/main/docs/) directory.
19-
- [ ] All: Set appropriate labels for the changes (only maintainers can apply labels).
20-
- [ ] Tests: Ran `mkdocs serve` locally and verified the auto-generated docs for new tests in the [Test Case Reference](https://eest.ethereum.org/main/tests/) are correctly formatted.
21-
- [ ] Tests: For PRs implementing a missed test case, update the [post-mortem document](/ethereum/execution-spec-tests/blob/main/docs/writing_tests/post_mortems.md) to add an entry the list.
22-
- [ ] Ported Tests: All converted JSON/YML tests from [ethereum/tests](/ethereum/tests) or [tests/static](/ethereum/execution-spec-tests/blob/main/tests/static) have been assigned `@ported_from` marker.
1+
<!--
2+
⚠️ NOTICE: This repository is migrating to ethereum/execution-specs on October 24, 2025.
3+
New PRs will not be accepted after October 20, 2025.
4+
Please see: https://github.com/ethereum/execution-spec-tests/issues/2303
5+
-->

README.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,49 @@
1-
# Execution Spec Tests
1+
2+
# ⚠️ IMPORTANT: Repository Migration in Progress - "The Weld"
3+
4+
**This repository is being merged into [ethereum/execution-specs](https://github.com/ethereum/execution-specs) during the week of October 20-24, 2025.**
5+
6+
## What's Happening?
7+
8+
All functionality from [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) (spec tests, test frameworks, and tooling) is moving to [ethereum/execution-specs](https://github.com/ethereum/execution-specs) to streamline spec and test development. For background, see our [blog post](https://steel.ethereum.foundation/blog/blog_posts/2025-09-11_weld-announcement/).
9+
10+
## Timeline
11+
12+
**Week of October 13-17, 2025:**
13+
14+
- **execution-spec-tests (EEST):** Closing remaining PRs and porting issues to EELS. **New PRs will not be accepted after this week.**
15+
- **execution-specs (EELS):** Finalizing BPO t8n changes to ensure test filling works for upcoming hard forks.
16+
17+
**Week of October 20-24, 2025:**
18+
19+
- **October 20:** Kickstart with a dry-run migration.
20+
- **October 20-24:** Fix CI and fixture building/release issues that arise.
21+
- **October 24 (ETA):** Weld finalized. All development moves to [ethereum/execution-specs](https://github.com/ethereum/execution-specs).
22+
23+
## What This Means for You
24+
25+
- **Spec Contributors:** Continue working in [ethereum/execution-specs](https://github.com/ethereum/execution-specs) as usual.
26+
- **Test Contributors:**
27+
- **Until October 20:** Open draft PRs in [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) as you have been.
28+
- **After October 24 (Weld Complete):** Close any open draft PRs in EEST and reopen them in [ethereum/execution-specs](https://github.com/ethereum/execution-specs). All future test development happens in EELS.
29+
- **Client Teams:** Test fixture releases will continue from [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) as usual. No changes to your consumption workflow.
30+
31+
### Questions?
32+
33+
We will reach out with specific guidance as needed. For urgent questions, please contact the STEEL team.
34+
35+
---
36+
37+
## Execution Spec Tests
238

339
[![latest version](https://img.shields.io/github/v/release/ethereum/execution-spec-tests)](https://github.com/ethereum/execution-spec-tests/releases/latest)
440
![Python Versions](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13-blue)
541
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
642
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
743
[![License](https://img.shields.io/github/license/ethereum/execution-spec-tests)](https://github.com/ethereum/execution-spec-tests/blob/main/LICENSE)
844

45+
## About
46+
947
The full execution-spec-tests documentation can be found [here](https://eest.ethereum.org/main/).
1048

1149
**Note:** All of [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) functionality (i.e., the spec tests, test frameworks and tooling) will move to [ethereum/execution-specs](https://github.com/ethereum/execution-specs) in Q4 2025 to streamline spec and test development. For more information please see our [blog post](https://steel.ethereum.foundation/blog/blog_posts/2025-09-11_weld-announcement/). For now, please continue contributing to both [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) and [ethereum/execution-specs](https://github.com/ethereum/execution-specs) as you previously have - we will reach out to you if and when need be!

src/pytest_plugins/consume/consume.py

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from dataclasses import dataclass
99
from io import BytesIO
1010
from pathlib import Path
11-
from typing import Any, List, Optional, Tuple
11+
from typing import Any, Generator, List, Optional, Tuple
1212
from urllib.parse import urlparse
1313

1414
import platformdirs
@@ -29,6 +29,45 @@
2929
)
3030

3131

32+
def print_migration_warning(terminalreporter: Any = None) -> None:
33+
"""Print migration warning about repository merge."""
34+
lines = [
35+
"",
36+
"=" * 80,
37+
"⚠️ IMPORTANT: Repository Migration in Progress - 'The Weld' ⚠️",
38+
"=" * 80,
39+
"",
40+
"This repository is being merged into ethereum/execution-specs (EELS) during the",
41+
"week of October 20-24, 2025.",
42+
"",
43+
"📅 Timeline:",
44+
" • Week of Oct 13-17: Closing PRs, porting issues to EELS",
45+
" • Week of Oct 20-24: Migration week - fixing CI and fixture building",
46+
" • Oct 24 (ETA): Weld finalized - all development moves to EELS",
47+
"",
48+
"👉 What This Means:",
49+
" • Test Contributors: After Oct 24, reopen draft PRs in EELS",
50+
" • All future test development happens in EELS after completion",
51+
" • Fixture releases continue as usual during transition",
52+
"",
53+
"For details: https://steel.ethereum.foundation/blog/blog_posts/2025-09-11_weld-announcement/",
54+
"=" * 80,
55+
"",
56+
]
57+
58+
if terminalreporter:
59+
for line in lines:
60+
if "⚠️" in line or "IMPORTANT" in line:
61+
terminalreporter.write_line(line, bold=True, yellow=True)
62+
elif line.startswith("="):
63+
terminalreporter.write_line(line, yellow=True)
64+
else:
65+
terminalreporter.write_line(line)
66+
else:
67+
for line in lines:
68+
print(line)
69+
70+
3271
def default_input() -> str:
3372
"""
3473
Directory (default) to consume generated test fixtures from. Defined as a
@@ -374,6 +413,7 @@ def pytest_configure(config: pytest.Config) -> None: # noqa: D103
374413
called before the pytest-html plugin's pytest_configure to ensure that it
375414
uses the modified `htmlpath` option.
376415
"""
416+
print_migration_warning()
377417
# Validate --extract-to usage
378418
if config.option.extract_to_folder is not None and "cache" not in sys.argv:
379419
pytest.exit("The --extract-to flag is only valid with the 'cache' command.")
@@ -527,3 +567,17 @@ def pytest_generate_tests(metafunc: pytest.Metafunc) -> None:
527567
metafunc.config.hive_execution_clients, # type: ignore[attr-defined]
528568
ids=[client.name for client in metafunc.config.hive_execution_clients], # type: ignore[attr-defined]
529569
)
570+
571+
572+
@pytest.hookimpl(hookwrapper=True, trylast=True)
573+
def pytest_terminal_summary(
574+
terminalreporter: Any,
575+
exitstatus: int,
576+
config: pytest.Config,
577+
) -> Generator[None, None, None]:
578+
"""Print migration warning at end of test session."""
579+
del exitstatus
580+
yield
581+
582+
if not hasattr(config, "workerinput"):
583+
print_migration_warning(terminalreporter)

src/pytest_plugins/execute/execute.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,45 @@
2626
from .pre_alloc import Alloc
2727

2828

29+
def print_migration_warning(terminalreporter: Any = None) -> None:
30+
"""Print migration warning about repository merge."""
31+
lines = [
32+
"",
33+
"=" * 80,
34+
"⚠️ IMPORTANT: Repository Migration in Progress - 'The Weld' ⚠️",
35+
"=" * 80,
36+
"",
37+
"This repository is being merged into ethereum/execution-specs (EELS) during the",
38+
"week of October 20-24, 2025.",
39+
"",
40+
"📅 Timeline:",
41+
" • Week of Oct 13-17: Closing PRs, porting issues to EELS",
42+
" • Week of Oct 20-24: Migration week - fixing CI and fixture building",
43+
" • Oct 24 (ETA): Weld finalized - all development moves to EELS",
44+
"",
45+
"👉 What This Means:",
46+
" • Test Contributors: After Oct 24, reopen draft PRs in ethereum/execution-specs",
47+
" • All future test development happens in EELS after completion",
48+
" • Fixture releases continue as usual during transition",
49+
"",
50+
"For details: https://steel.ethereum.foundation/blog/blog_posts/2025-09-11_weld-announcement/",
51+
"=" * 80,
52+
"",
53+
]
54+
55+
if terminalreporter:
56+
for line in lines:
57+
if "⚠️" in line or "IMPORTANT" in line:
58+
terminalreporter.write_line(line, bold=True, yellow=True)
59+
elif line.startswith("="):
60+
terminalreporter.write_line(line, yellow=True)
61+
else:
62+
terminalreporter.write_line(line)
63+
else:
64+
for line in lines:
65+
print(line)
66+
67+
2968
def default_html_report_file_path() -> str:
3069
"""
3170
File (default) to store the generated HTML test report. Defined as a
@@ -131,6 +170,7 @@ def pytest_configure(config: pytest.Config) -> None:
131170
called before the pytest-html plugin's pytest_configure to ensure that
132171
it uses the modified `htmlpath` option.
133172
"""
173+
print_migration_warning()
134174
# Modify the block gas limit if specified.
135175
if config.getoption("transaction_gas_limit"):
136176
EnvironmentDefaults.gas_limit = config.getoption("transaction_gas_limit")

src/pytest_plugins/filler/filler.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,45 @@
5555
from .fixture_output import FixtureOutput
5656

5757

58+
def print_migration_warning(terminalreporter: Any = None) -> None:
59+
"""Print migration warning about repository merge."""
60+
lines = [
61+
"",
62+
"=" * 80,
63+
"⚠️ IMPORTANT: Repository Migration in Progress - 'The Weld' ⚠️",
64+
"=" * 80,
65+
"",
66+
"This repository is being merged into ethereum/execution-specs (EELS) during the",
67+
"week of October 20-24, 2025.",
68+
"",
69+
"📅 Timeline:",
70+
" • Week of Oct 13-17: Closing PRs, porting issues to EELS",
71+
" • Week of Oct 20-24: Migration week - fixing CI and fixture building",
72+
" • Oct 24 (ETA): Weld finalized - all development moves to EELS",
73+
"",
74+
"👉 What This Means:",
75+
" • Test Contributors: After Oct 24, reopen draft PRs in ethereum/execution-specs",
76+
" • All future test development happens in EELS after completion",
77+
" • Fixture releases continue as usual during transition",
78+
"",
79+
"For details: https://steel.ethereum.foundation/blog/blog_posts/2025-09-11_weld-announcement/",
80+
"=" * 80,
81+
"",
82+
]
83+
84+
if terminalreporter:
85+
for line in lines:
86+
if "⚠️" in line or "IMPORTANT" in line:
87+
terminalreporter.write_line(line, bold=True, yellow=True)
88+
elif line.startswith("="):
89+
terminalreporter.write_line(line, yellow=True)
90+
else:
91+
terminalreporter.write_line(line)
92+
else:
93+
for line in lines:
94+
print(line)
95+
96+
5897
@dataclass(kw_only=True)
5998
class PhaseManager:
6099
"""
@@ -645,6 +684,8 @@ def pytest_configure(config: pytest.Config) -> None:
645684
called before the pytest-html plugin's pytest_configure to ensure that
646685
it uses the modified `htmlpath` option.
647686
"""
687+
if not is_help_or_collectonly_mode(config):
688+
print_migration_warning()
648689
# Register custom markers
649690
# Modify the block gas limit if specified.
650691
if config.getoption("block_gas_limit"):
@@ -785,6 +826,7 @@ def pytest_terminal_summary(
785826
yield
786827
if config.fixture_output.is_stdout or hasattr(config, "workerinput"): # type: ignore[attr-defined]
787828
return
829+
print_migration_warning(terminalreporter)
788830
stats = terminalreporter.stats
789831
if "passed" in stats and stats["passed"]:
790832
# Custom message for Phase 1 (pre-allocation group generation)

0 commit comments

Comments
 (0)