| 20 Sep 2025 |
Sergei Zimmerman (xokdvium) | That’s not a very good approach when it comes to memory usage. CI used to do it and it was atrocious. Also we want to test much more than what is exposed in flake outputs (the ones that flake check will build). There’s some intersection with hydraJobs, but only some. | 05:37:08 |
Sergei Zimmerman (xokdvium) | Like this will only work for toy examples. | 05:39:16 |
Sergei Zimmerman (xokdvium) | Flake check is a fundamentally broken command IMO. It leaks memory all over the place that is very much necessary for doing useful things like compiling C++ | 05:41:39 |
Sergei Zimmerman (xokdvium) | In reply to @getchoo:matrix.org
i've done this a good number of times actually (https://github.com/getchoo/nix2workflow), but honestly...i think it might be a bit gimmicky
for me, the main friction between integrating gha with nix stuff is that it doesn't Just Work with nix - like hydra, hercules-ci, or buildbot-nix would. defining stuff with nix using json makes it a bit nicer since now i don't need to bounce between the workflow file and my nix code, but i'm still having a lot of glue code to get the two working, so i don't think it really solves that core problem, just makes it slightly less bad.
(sidenote: it's also obviously not a requirement of this concept, but anecdotally i've found ci to become pretty slow with the one job -> one attribute setup that i see most people use with it, unless it's a ton of heavy packages that don't share any dependencies)
nowadays i really think a good way to go for running nix stuff in gha is a simple nix flake check. it's basically what buildbot-nix does, doesn't really require any glue code, doesn't waste extra jobs/runners for each attribute, is easily reproducible locally, and should be even better once https://github.com/NixOS/nix/pull/13998 lands in a release
Also I wasn’t suggesting a matrix per one attribute. We should build components (all libs, unit tests + functional tests) only once per matrix job, otherwise it’s too slow. A matrix of nixos tests might be nice though once the cli is built | 05:55:22 |
| Hierophilos removed their profile picture. | 21:35:53 |
| Hierophilos set a profile picture. | 21:37:09 |
| Hierophilos changed their profile picture. | 21:42:19 |
| Hierophilos removed their profile picture. | 21:42:53 |
| Hierophilos set a profile picture. | 21:43:56 |
fzakaria | Hi! | 21:46:56 |
| 22 Sep 2025 |
John Ericson | https://tracker.debian.org/pkg/nix the Debian package for Nix might need some help | 14:41:12 |
John Ericson | Anyone have the expertise necessary for this? | 14:41:35 |
John Ericson | it needs to be redone post Meson (stuck on 2.26 right now) | 14:41:46 |
John Ericson | and there is also some link error that was reported (symbol seems to be some system thing, doesn't make sense to me) | 14:42:14 |
Sandro 🐧 | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1114222 is the direct link I guess | 15:03:32 |
| 23 Sep 2025 |
| sinan changed their profile picture. | 02:47:54 |
| kenji changed their display name from a-kenji to kenji. | 10:41:51 |
| znaniye joined the room. | 11:50:50 |
Sergei Zimmerman (xokdvium) | Doesn't this look like a binutils bug? At least this is very suspicious:
assertion fail ../../bfd/elf-sframe.c:140
| 20:31:21 |
Sergei Zimmerman (xokdvium) | libbfd is broken? https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/elf-sframe.c;h=2cb732c3016f80c11f0bb77d1ce54ae2f3a2121d;hb=HEAD#l140 | 20:33:18 |
| @friedow:beeper.com joined the room. | 21:16:22 |
| 24 Sep 2025 |
Mic92 | In reply to @xokdvium:matrix.org I had a pretty crazy idea. How about we defined the workflow matrix in Nix? GHA can read a dynamically generated matrix from JSON. That would make stuff much easier All the implementation i found so far do not respect dependencies between jobs and also do not deduplicate aliases. They work okay for simpler flakes but get too slow for larger ones. | 07:24:45 |
Mic92 | They also should skip workflow steps that have been already build and do instantiation and building in two steps to reclaim memory | 07:26:26 |
Mic92 | You are also limited to 50 flake outputs | 07:27:04 |
Sergei Zimmerman (xokdvium) | In reply to @joerg:thalheim.io All the implementation i found so far do not respect dependencies between jobs and also do not deduplicate aliases. They work okay for simpler flakes but get too slow for larger ones. I was thinking of doing something a bit coarse-grained and manual. Like building with/without sanitizers in separate jobs and define that in nix. Not per-output splitting | 07:28:42 |
Mic92 | That's more reasonable | 07:28:58 |
Sergei Zimmerman (xokdvium) | That would help a bit with system -> runner os translation that blocks us from adding aarch64–Linux to gha | 07:30:08 |
Sergei Zimmerman (xokdvium) | It’s a bit haphazard atm | 07:30:29 |
| 25 Sep 2025 |
| sebastian joined the room. | 18:42:52 |
| @dvtkrlbs:matrix.org left the room. | 22:25:01 |