-
Notifications
You must be signed in to change notification settings - Fork 107
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
Conversation
7e3d6f7
to
d874956
Compare
consume cache
and --release
flagconsume cache
, and --input
flag accepts versioned release names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome PR, thanks for adding this - its so much better! Some comments below :)
consume cache
I love the hacky test_cache.py
solution, I did try to find an alternative nonetheless. I think we can remove the --cache-only
flag. Please follow comments for suggestions. With some of these the --help
flag for both cache and non-cache commands look clean.
--input
and releases
I validated that we could download any pre-release or url on my end, as well as stable@latest
and develop@latest
, including eip7692@latest
which is awesome. I had to add pagination for the github api to get it work - more below. It could be nice to have an non-url method to download older stable releases but I don't think its necessary.
hive
I still need to validate the hiveview updates are propagated but looks good from my end.
Co-authored-by: spencer-tb <[email protected]>
7e3e5c2
to
41c87fd
Compare
@spencer-tb Applied all the comments, thanks for the review! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! :)
🗒️ Description
consume cache
commandTakes 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 toethereum-execution-spec-tests/cached_downloads
placed inside of the folder returned byplatformdirs.user_cache_dir
.Release name parsing for
--input
flagThe
--input
flag now accepts release tags in the form<RELEASE_NAME>@<RELEASE_VERSION>
, where<RELEASE_VERSION>
can be in formatv1.2.3
or the keywordlatest
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
andlatest-develop-release
are deprecated in favor ofstable@latest
ordevelop@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
Closes #787
✅ Checklist
mkdocs serve
locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.