Skip to content

STEEL Merge #1280

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Jul 18, 2025
Merged

STEEL Merge #1280

merged 11 commits into from
Jul 18, 2025

Conversation

gurukamath
Copy link
Contributor

@gurukamath gurukamath commented Jun 18, 2025

What was wrong?

Currently, the test cases live in a different repository (execution-spec-tests).

How was it fixed?

Move the test cases to execution-specs and start using execution-spec-tests as a library.

Related EEST PR

Cute Animal Picture

Cute Animals - 1 of 1

@gurukamath
Copy link
Contributor Author

The PR is ready for review. The CI fails after around 30 mins because it looks like the runner is terminating the job (there aren't any actual test failures). Perhaps contacting devops is required here but I'm gonna take a quick look first.

Copy link
Contributor

@SamWilsn SamWilsn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine to me. We can refactor our t8n tool to avoid the json round trip later.

setup.cfg Outdated
@@ -136,6 +136,8 @@ install_requires =
ethereum-types>=0.2.1,<0.3
ethereum-rlp>=0.1.4,<0.2
cryptography>=45.0.1,<46
ethereum-execution-spec-tests @ git+https://github.com/ethereum/execution-spec-tests@dd83fba10492e6f63453b1a35608900b3aee1a87
ethereum-spec-evm-resolver @ git+https://github.com/petertdavies/ethereum-spec-evm-resolver
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still need the resolver?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't in the long run. But the idea was to have a bridge-over period where the tests folder from EEST would be made a sub-module in EELS and the functionality to fill via resolver would be retained. Once we are past this phase however, we can move the tests fully into EELS and get rid of the resolver. Here is more context on this

t8n = T8N(t8n_options, out_stream, in_stream)
t8n.run()

output_dict = json.loads(out_stream.getvalue())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We really should make this interface less... insane 🤣

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. For EELS, we can make this much more simple and native. However, EEST has to have this interface to be able to work with the other clients.
For EELS, this PR is only the first step to make the merge possible. There are a series of optimizations that we can undertake after this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean specifically our t8n interface. We don't need a JSON round trip here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah. I see. Yes. That is definitely the long term plan

@gurukamath gurukamath changed the title Draft: STEEL Merge STEEL Merge Jul 14, 2025
@gurukamath
Copy link
Contributor Author

Have incorporated some of the review comments and re-based on the latest forks/osaka to remove merge conflicts

Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment due to an EEST packaging improvement.

@gurukamath gurukamath force-pushed the steel-merge branch 5 times, most recently from 2141f39 to 06aeac2 Compare July 16, 2025 17:40
@gurukamath
Copy link
Contributor Author

Summary of a discussion with @SamWilsn

A second command has been added in this PR for the fork under active development. See this. This is because this command needs to only focus on the active development fork folder. Otherwise some of the historical tests will fail since they are not updated in real time. For example, Osaka tests need to only focus on eest_tests/execution-spec-tests/tests/osaka.

Since this is going to be a general thing, we should make an ethereum-spec-print-dev-fork command so we can single source hardfork information. We don't want to end up skipping amsterdam's tests for example because we forgot to update tox.ini

-n auto --maxprocesses 3 \
--basetemp="{temp_dir}/pytest" \
--clean \
--fork Osaka \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned on Discord, we should single source fork information.

@SamWilsn
Copy link
Contributor

Looks good to merge!

@gurukamath gurukamath merged commit 951e054 into ethereum:forks/osaka Jul 18, 2025
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants