| 27 Jun 2026 |
hexa | bumped | 14:18:34 |
K900 | If we have to deal with this the entire time | 14:18:46 |
hexa | https://github.com/NixOS/infra/pull/1104 was supposed to resolve that iirc | 14:19:15 |
emily | why is it only happening on Darwin(?) | 14:21:27 |
K900 | It's not | 14:21:49 |
K900 | But the darwins are slower so more likely to hit it | 14:21:56 |
emily |
the darwins
you mean the Darwin
| 14:22:22 |
hexa | gc is hourly on linux | 14:22:43 |
hexa | and twice per hour on darwin | 14:22:47 |
hexa | 🤡 | 14:22:50 |
emily | do we really need to GC that often? | 14:23:24 |
hexa | we can try and reduce | 14:23:56 |
K900 | I assume those have less disk also? | 14:23:57 |
emily | oh I just mean in general | 14:24:03 |
hexa | but fixing gc was annoying for the small macs with little disk | 14:24:08 |
hexa | the linux builders have between 2x2 and 2x4TB NVME | 14:24:46 |
hexa | the macs have like 256 for the hetzner ones | 14:24:58 |
hexa | and more for the oakhost ones | 14:25:04 |
hexa | we can try fast-nix-gc | 14:26:19 |
hexa | what would it fix? I guess gcing faster would be benefitial to the nodes anyhow | 14:26:59 |
hexa | but the window during which we'd gc would become smaller | 14:27:10 |
emily | yeah I'm just surprised that even Linux builders fill up that quickly | 14:27:17 |
emily | doing it twice an hour would be annoying if you wanted to drain the builders presumably | 14:27:38 |
hexa | I don't think we tuned them as much | 14:27:41 |
hexa | we like to keep them fuller so they have deps they might need later | 14:27:59 |
emily | wonder how easy it is to just make the builds take the GC lock | 14:28:01 |
hexa | and with fast-nix-gc we can tell it to keep newer things alive | 14:28:17 |
emily | Sergei Zimmerman (xokdvium): how easy would it be to have an option for "refuse to try building something if some of its outputs are present" that defaults on if fallback paths would be used (i.e. macOS, unsandboxed Linux) and then we could set it on for all of Hydra? | 14:31:17 |
emily | I guess that still doesn't handle the case where some of the outputs reached the cache but others didn't, and another machine tries doing the build to satisfy another output, but hasn't substituted the outputs that are in the cache | 14:31:40 |
emily | then the cache still gets frankenbuilds | 14:31:46 |