| 20 Sep 2025 |
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 |
| 26 Sep 2025 |
Taeer Bar-Yam | is there a reason that in value.hh, we pass ptrSize around as a template variable, rather than using sizeof(void *) at the point of use, or defining static constexpr detail::ptrSize = sizeof(void *)? Do we ever want to instantiate things at multiple ptrSizes during the same compilation? | 13:10:28 |