Hydra | 398 Members | |
| 114 Servers |
| Sender | Message | Time |
|---|---|---|
| 11 May 2026 | ||
| we can rip out the toml formatting if you don't like that, but that is the most trivial bikeshed thing | 19:58:53 | |
| not load-berring for the overall health of the project | 19:59:06 | |
| Hello, I am not sure if this is the right place to ask, but I set up a hydra instance on my server and it all works so far but I am a bit confused by the architecture. I used the newer hydra-queue-builder and runner that came from helsinki-systems and when garbage collection ran on the builder, the next time it builds something, it tries to build everything starting from bootsrap stage 1. I enabled substitutions and the hydra-queue-runner says something like this:
so it already is in the s3 cache (it got build by the builder earlier) and the queue runner knows that. the queue-builder has the cache enabled as a subsituter but doesnt use it, is this intended? | 20:01:22 | |
| Frooastside: this is the right spot | 20:02:49 | |
| did you enabled substitution on the builder too? | 20:02:55 | |
| this seems not unlike the the issues that hydra.nixos.org was facing frankly | 20:03:12 | |
| the thing I am working on right now (but it is a massive refactor) is making the builder not get dependent drvs so it that it has to subsitute or fail, and rebuilding things is not possible | 20:03:44 | |
| that also cuts down on traffic between the queue ruunner and the builder | 20:03:54 | |
| the current thing is how really old remote building worked | 20:04:09 | |
| the thing I am going to is how hydra workedf or the last decade or so | 20:05:28 | |
I was not sure which setting is actually required because it didnt work after just enabling services.hydra-queue-builder-dev.useSubstitutes = true; (on the builder) so I also set nix.settings.builders-use-substitutes = true (I am not sure where i found that) and this is of course also set nix.settings.substituters = ["https://cache.nixos.org" "https://cache.MY CACHE"] | 20:07:01 | |
| yeah taht sounds like it should work | 20:08:56 | |
| it is just hard to debug right now I am afraid with the dependency drvs being disclosed to the builder | 20:09:15 | |
| you could try to check nix logs and figure out what it is doing what it is doing | 20:09:28 | |
| but that is hard | 20:09:31 | |
| (the decision to build the stuff is nix's) | 20:10:28 | |
| This is the process running right now
So it picked the first drv that is not in the cache and tries to build it but | 20:15:15 | |
| Thats whats confusing me, how is it supposed to work? When the builder is missing dependencies, should nix get them because substitutions should be on, should the queue-builder get them from the cache or should the queue-runner send them to the builder? | 20:21:45 | |
| interesting, I am not sure where that is coming from | 20:34:42 | |
| oh nevermind I do see it | 20:35:24 | |
that is in subprojects/crates/nix-utils/src/realise.rs | 20:37:02 | |
git log missed it becasue it was there since the initial commit (?) | 20:37:17 | |
| oh because I was git loging the specific file | 20:39:10 | |
| Frooastside: the instent is that the new builder and new queue runner will cooporate to get the inputs in place separately | 20:40:09 | |
| so nix shouldn't need to download anything | 20:40:16 | |
| but clearly that is not working right yet | 20:40:20 | |
| Ok, thank you | 20:41:05 | |
| 12 May 2026 | ||
| FYI https://nixos.org/hydra/manual/ seems broken due to CORS rules | 03:51:51 | |
| Any sense where they're coming from? Took a quick look in https://github.com/NixOS/infra/blob/main/build/hydra-proxy.nix to fix it but didn't see anything | 03:53:31 | |
| I tried getting the old queue-runner working but i face a weird issue where it just gets stuck on "sending inputs..." it tries to copy things from the s3 store but never finishes im not even sure whats the problem there. the only option is to manually kill the nix-daemon processes, systemctl restart nix-daemon doesnt touch the stuck processes. after doing that i can manually copy the nix store paths though im not sure if it works manually because its only one at a time or something else | 09:10:28 | |