| 17 Aug 2023 |
Lily Foster | (apologies to be inserting myself into this convo... I just have an interest in CI stuff) | 23:15:04 |
Lily Foster | In reply to @cole-h:matrix.org Maybe you could look at why Nixpkgs eval is so slow now 😠I second this 😠| 23:15:16 |
@infinisil:matrix.org | More context? | 23:15:25 |
cole-h | (upwards of 10m per outpaths.nix check...) | 23:15:26 |
cole-h | (last year it was around 5m) | 23:15:35 |
Lily Foster | In reply to @cole-h:matrix.org (upwards of 10m per outpaths.nix check...) (and like 64G of memory!) | 23:15:40 |
@infinisil:matrix.org | In reply to @lily:lily.flowers (apologies to be inserting myself into this convo... I just have an interest in CI stuff) No problem at all! | 23:15:40 |
@infinisil:matrix.org | Hmm my initial guess is just more | 23:16:09 |
cole-h | If you remind me tomorrow (well, my tomorrow) I can pull out the bisect log I did a month or two ago | 23:16:34 |
Lily Foster | In reply to @lily:lily.flowers (and like 64G of memory!) (I can't even test the outpaths on any system I have access to aside from the aarch64-linux community builder. Which I'm not entirely convinced isn't due to something about how outpaths.nix is structured, but I haven't dove into it) | 23:16:42 |
cole-h | But meta checks are expensive these days | 23:16:59 |
@infinisil:matrix.org | Ooof.. https://github.com/NixOS/nixpkgs/pull/177272 | 23:17:18 |
cole-h | Yes that one, I think that was one of the larger bumps | 23:17:45 |
@infinisil:matrix.org | (that one isn't merged but it adds more meta checks) | 23:17:59 |
cole-h | Oh then there was another one x) | 23:18:14 |
cole-h | I saw check-meta and jumped haha | 23:18:24 |
piegames | We need more meta checks, not less | 23:23:30 |
piegames | In reply to @infinisil:matrix.org Ooof.. https://github.com/NixOS/nixpkgs/pull/177272 But review form the OfBorg side on this one would still be appreciated, because it modifies stuff with a "keep in sync with stuff hard-coded in OfBorg" comment above it. Although I couldn't find anything relevant in the OfBorg code base | 23:24:49 |
piegames | * <mx-reply><blockquote><a href="https://matrix.to/#/!sBfrWMVsLoSyFTCkNv:nixos.org/$kuAqGSPeZHdC_oU4pviRsMgTrwxHrqfdN5BpdK-1nOs?via=matrix.org&via=nixos.dev&via=nixos.org">In reply to</a> <a href="https://matrix.to/#/@infinisil:matrix.org">@infinisil:matrix.org</a><br />Ooof.. https://github.com/NixOS/nixpkgs/pull/177272</blockquote></mx-reply> But review form the OfBorg side on this one would still be appreciated, because it modifies stuff with a "keep in sync with stuff hard-coded in OfBorg" comment above it. Although I couldn't find anything related in the OfBorg code base | 23:25:20 |
piegames | * But review form the OfBorg side on this one would still be appreciated, because it modifies stuff with a "keep in sync with stuff hard-coded in OfBorg" comment above it. Although I couldn't find anything related in the OfBorg code base | 23:26:11 |
@infinisil:matrix.org | Btw I really said oof for that one because I still had it in mind that it enabled meta checks for all packages. But for one, it doesn't anymore, and for another, ofborg does meta checks anyways even if it's off by default | 23:26:12 |
@infinisil:matrix.org | I don't think it's that problematic, it just adds a bit more meta checks | 23:26:34 |
@infinisil:matrix.org | Maybe a permanent fix should be a way to only evaluate what changed for a PR | 23:29:27 |
piegames | Not sure to which extent this is feasible, given the spooky-action-at-a-distance nature of Nixpkgs fix points | 23:30:27 |
@infinisil:matrix.org | Nix does know which files get accessed underneath, see nix-build '<nixpkgs>' -A hello -v | 23:31:14 |
Lily Foster | In reply to @infinisil:matrix.org Maybe a permanent fix should be a way to only evaluate what changed for a PR So like only doing meta checks for outpaths that's changed, or something else? If so, meta could still be changed without outpath changing | 23:31:19 |
@infinisil:matrix.org | In reply to @infinisil:matrix.org Nix does know which files get accessed underneath, see nix-build '<nixpkgs>' -A hello -v Do this for each attribute once, then for each commit/PR, only re-evaluate it if the commit changed any of those paths | 23:31:57 |
Lily Foster | In reply to @infinisil:matrix.org Nix does know which files get accessed underneath, see nix-build '<nixpkgs>' -A hello -v Ah so which files Nix touches at all. That could maybe be done, but I'm not sure it would be faster.... | 23:32:21 |
@infinisil:matrix.org | This should definitely be faster! | 23:33:03 |
piegames | My gut feeling says one could still come up with edge cases where this does not work | 23:33:06 |