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(consume): Add consume cache, and --input flag accepts versioned release names #1044

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

marioevz
Copy link
Member

@marioevz marioevz commented Dec 26, 2024

🗒️ Description

consume cache command

Takes same inputs as other consume commands, but it's only used to download and cache fixtures.

Useful to create docker containers and download the fixtures during the image creation process instead of each time the container runs.

The --cache-folder flag can also be specified to use a specific folder as cache, and when omitted it defaults to ethereum-execution-spec-tests/cached_downloads placed inside of the folder returned by platformdirs.user_cache_dir.

Release name parsing for --input flag

The --input flag now accepts release tags in the form <RELEASE_NAME>@<RELEASE_VERSION>, where <RELEASE_VERSION> can be in format v1.2.3 or the keyword latest to automatically fetch the latest version.

It uses the GitHub API to fetch the list of releases and automatically download the specified version for the given release name.

The list of releases is cached and only re-downloaded after 10 minutes have passed since the last query, except when running inside of a docker container or in CI, in order to cache only during image creation.

Keywords latest-stable-release and latest-develop-release are deprecated in favor of stable@latest or develop@latest respectively.

Hive instance information

The /hive endpoint of the hive server is now used to fetch information about the hive instance being used to execute the tests.

Information such as the client file used to configure the clients is now fetched and placed inside of the test description to aid on reproducibility.

🔗 Related Issues

None

✅ 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.

@marioevz marioevz added scope:consume Scope: Consume command suite scope:fw Scope: Framework (evm|tools|forks|pytest) scope:tooling Scope: Python tools (uv, ruff, tox,...) type:feat type: Feature labels Dec 26, 2024
@marioevz marioevz changed the title feat(consume): Add consume cache and --release flag feat(consume): Add consume cache, and --input flag accepts versioned release names Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:consume Scope: Consume command suite scope:fw Scope: Framework (evm|tools|forks|pytest) scope:tooling Scope: Python tools (uv, ruff, tox,...) type:feat type: Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant