f077a6f36e795e2da3248a75591e6178fad6916a
Snix's nar-bridge[1] stores NARs under a different URL, i.e. `nar/snix-castore/<hash>.nar` rather than `nar/<filehash>.nar`. Right now, when copying into such a store via the http binary-cache, we'd end up with wrong cache entries that point to the wrong NAR URL. On Hydra, this is a fatal error, i.e. builds that depend on previously built paths (that were written to the cache before by the queue runner) would be aborted because of that. This patch removes the caching since we'd have to re-fetch the narinfo to do taht and this can also happen the next time, the narinfo is queried. Also, removes the negative cache entry indicating that the store-path doesn't exist in the store. We don't have any coverage for http-stores so far, so I wrote a small testcase for the "default" case and the nar-bridge case in functional2 since it has a very nice fixture for an HTTP server ready. I'm aware that there's a CL for a nicer cache server[2], but given I'm down a pretty deep rabbit hole by playing around with Snix, I decided to not finish the CL and write something small for the tests in here. This can be replaced by the fixtures from that CL later on as well. [1] https://snix.dev/docs/components/overview/#nar-bridge [2] https://gerrit.lix.systems/c/lix/+/2431/1 Change-Id: I4fcdf47a6bf9c3c8fbeb235eeca7a48914a4d693
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%