Skip to content
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

feat(fill): add a config file for the eels resolver to pin versions #872

Merged
merged 5 commits into from
Oct 3, 2024

Conversation

danceratopz
Copy link
Member

@danceratopz danceratopz commented Oct 3, 2024

🗒️ Description

Currently, as EEST doesn't configure the EELS resolver, it takes the HEAD of execution-specs master for all forks. This exposes EEST to any issues that make it to execution-specs master. This PR aims to eliminate this risk and improve reporting the EELS version used to fill forks:

  • Add a config file eels_resolutions.json that pins the ethereum/execution-specs main branch reference for deployed and Prague forks, see the ethereum-spec-evm-resolver README.
  • Use the eels_resolutions.json in fill and the framework tests automatically by setting the EELS_RESOLUTIONS_FILE envvar in an eels_resolver plugin. The value will not be clobbered, however, if the user has manually set EELS_RESOLUTIONS_FILE.
  • Report the resolutions file used in the pytest report header and metadata (metadata plugin).
  • Copy the resolutions file to the fixture's .meta folder (to verify fixture origin in releases, for example).

🔗 Related Issues

#792

✅ Checklist

  • All: Set appropriate labels for the changes.
  • All: Considered squashing commits to improve commit history.
  • All: Added an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.
  • Tests: All converted JSON/YML tests from ethereum/tests have been added to converted-ethereum-tests.txt.
  • Tests: A PR with removal of converted JSON/YML tests from ethereum/tests have been opened.
  • Tests: Included the type and version of evm t8n tool used to locally execute test cases: e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

This config is always used by fill and the framework tests. If the EELS_RESOLUTIONS_FILE is already set, this value is taken instead. This is done via environment variables (no command-line flag added) to be consistent with the resolver behavior.
@danceratopz danceratopz added type:bug Something isn't working type:feat type: Feature scope:fw Scope: Framework (evm|tools|forks|pytest) labels Oct 3, 2024
Copy link
Member

@marioevz marioevz left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@marioevz marioevz merged commit 7371ace into main Oct 3, 2024
5 checks passed
@marioevz marioevz deleted the fix/pin-resolved-eels-version branch October 3, 2024 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:fw Scope: Framework (evm|tools|forks|pytest) type:bug Something isn't working type:feat type: Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants