You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For every new repo I add, I see that HCI is building the entire world of dependencies; and this happens fairly all the time given that each repo pins a different nixpkgs. Is there a particular reason it is not pulling them from cache.nixos.org?
Perhaps it uses exactly the caches specified in binary-caches.json (I have one; my nix-server server where drvs are pushed to). Can this file also contain read-only caches like official cache (ie., caches which should not be pushed to)?
It would be nice to document this under FAQ or somewhere. I'd rather avoid this world-building and re-use from official cache.
The text was updated successfully, but these errors were encountered:
For every new repo I add, I see that HCI is building the entire world of dependencies
You're right that Hercules CI tries to build the world, and there's some opportunity to optimize this, at least regarding the build dependencies that have already been built. Whether the agent can convince Nix (libstore) to push paths without pushing the whole closure, I'm not sure, but I expect a good improvement from ignoring just the build dependencies that exist in upstream caches
Perhaps it uses exactly the caches specified in binary-caches.json
It is meant to extend the system substituters. You can confirm this by looking at substitutions that happen in the derivation build log, or perhaps in the evaluation log if you use IFD.
It would be nice to document this under FAQ or somewhere.
Review documentation after optimizing the eval / build dispatch
For every new repo I add, I see that HCI is building the entire world of dependencies; and this happens fairly all the time given that each repo pins a different nixpkgs. Is there a particular reason it is not pulling them from
cache.nixos.org
?Perhaps it uses exactly the caches specified in
binary-caches.json
(I have one; my nix-server server where drvs are pushed to). Can this file also contain read-only caches like official cache (ie., caches which should not be pushed to)?It would be nice to document this under FAQ or somewhere. I'd rather avoid this world-building and re-use from official cache.
The text was updated successfully, but these errors were encountered: