Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The idea here is the following:
Instead of adding additional files to the glob, it might be useful if the backends could add some metadata to break caches when they know it's needed.
For example, we had the situation that changing the
cmake
version (or any build-time dependency for that matter) did not trigger a rebuild. We solved this (as far as I understand) by globbing the entire input file as part of the hash. This is a little broader than what we would like because now adding empty lines and so on would also break the cache.Ideally, the backend would tell us: these are the files that are concerned, and these are some extra data that should influence the hash. This extra data could be build time dependencies and other things, and it would just be injected into the hash.
However, then the problem becomes that pixi cannot itself determine whether it needs to call CondaGetMetadata.
So I think we should ideally have two sets of globs:
Maybe someone can elaborate a bit why we have
input_globs
in theCondaMetadataResult
, but it's currentlyNone
in all backends?Maybe this is also a bit premature optimization and what we have now works well enough.