-
Notifications
You must be signed in to change notification settings - Fork 180
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: do not re-install if source does not change #2118
feat: do not re-install if source does not change #2118
Conversation
20548a5
to
28d21d6
Compare
… make functions more readable
28d21d6
to
e3bd34d
Compare
Soooo I have refactored almost everything. I had a long discussion with @wolfv today and we decided that instead of storing the caching information in the prefix itself we would store it in a cache together with the built artifact. This is then very similar to what we do with the metadata basically. |
Could you elaborate why :)? |
In my opinion the cache information doesn't really belong in the prefix information. My understanding is that we now have a two layered cache: pixi.toml -> metadata cache -> artifact cache -> prefix It's one more "cache" but we would have needed that cache anyways and now it can be shared across multiple projects. The cache should know when it needs to generate a new artifact based on mtime, etc, and then return a new hash that should be used as part of the package build string to be installed in the prefix. |
Yes that makes sense! Thanks for explaining! |
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.
Nice, missing some docs mainly.
fcf8705
into
prefix-dev:feature/pixi-build
This should ensure that a build/rebuild is only triggered when the source is changed.
The final todo, I would say is to move the merge the
reinstall_globs.rs
file and the new struct that have been created inenvironment.rs
.