-
-
Notifications
You must be signed in to change notification settings - Fork 636
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
Make interpreter path expansion cache-correct #17051
Make interpreter path expansion cache-correct #17051
Conversation
(Moved back to draft status while I address ASDF in the same PR. Apparently |
This is probably "bugfix" - it impacts users for existing features |
Eugh, looks like I do need to make the |
@Eric-Arellano Agreed, I'll change that over momentarily |
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
… from elsewhere # Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
8f365d7
to
7d52aa6
Compare
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.
Thanks!
raise ValueError( | ||
softwrap( | ||
f"`[python-bootstrap].search_paths` is configured to use local Go discovery " | ||
f"tools, which do not work in {env_type.__name__} runtime environments. To fix " |
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.
this should probably instead be env_target.alias
Following discussion with @stuhood, it emerged that none of the filesystem-sensitive code in
python_bootstrap
is cache-correct, in that the functions that hit the filesystem were not markeduncacheable
.This PR refactors
_expand_interpreter_search_paths
and_get_pyenv_paths
into rules, marking_get_pyenv_paths
as uncacheable. This reduces the footprint of the sandbox-unsafe code to just_get_pyenv_paths
.It also reduces the scope of
AsdfToolPathsRequest
, and moves the point where it is requested to inside the path expansion rule, and only ifasdf
is actually requested.Closes #16800.