!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

878 Members
For people hacking on the Nix package manager itself186 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
20 Sep 2025
@xokdvium:matrix.orgSergei 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
@xokdvium:matrix.orgSergei 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
@akanygen:matrix.orgHierophilos removed their profile picture.21:35:53
@akanygen:matrix.orgHierophilos set a profile picture.21:37:09
@akanygen:matrix.orgHierophilos changed their profile picture.21:42:19
@akanygen:matrix.orgHierophilos removed their profile picture.21:42:53
@akanygen:matrix.orgHierophilos set a profile picture.21:43:56
@fzakaria:one.ems.hostfzakariaHi!21:46:56
22 Sep 2025
@Ericson2314:matrix.orgJohn Ericsonhttps://tracker.debian.org/pkg/nix the Debian package for Nix might need some help14:41:12
@Ericson2314:matrix.orgJohn EricsonAnyone have the expertise necessary for this?14:41:35
@Ericson2314:matrix.orgJohn Ericsonit needs to be redone post Meson (stuck on 2.26 right now)14:41:46
@Ericson2314:matrix.orgJohn Ericsonand 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:supersandro.deSandro 🐧https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1114222 is the direct link I guess15:03:32
23 Sep 2025
@sinan:sinanmohd.comsinan changed their profile picture.02:47:54
@a-kenji:matrix.orgkenji changed their display name from a-kenji to kenji.10:41:51
@znaniye:matrix.orgznaniye joined the room.11:50:50
@xokdvium:matrix.orgSergei 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
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)libbfd is broken? https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/elf-sframe.c;h=2cb732c3016f80c11f0bb77d1ce54ae2f3a2121d;hb=HEAD#l14020:33:18
@friedow:beeper.com@friedow:beeper.com joined the room.21:16:22
24 Sep 2025
@joerg:thalheim.ioMic92
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
@joerg:thalheim.ioMic92They also should skip workflow steps that have been already build and do instantiation and building in two steps to reclaim memory 07:26:26
@joerg:thalheim.ioMic92You are also limited to 50 flake outputs07:27:04
@xokdvium:matrix.orgSergei 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
@joerg:thalheim.ioMic92That's more reasonable 07:28:58
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) That would help a bit with system -> runner os translation that blocks us from adding aarch64–Linux to gha 07:30:08
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)It’s a bit haphazard atm07:30:29
25 Sep 2025
@sebastian:srx.digitalsebastian joined the room.18:42:52
@dvtkrlbs:matrix.org@dvtkrlbs:matrix.org left the room.22:25:01
26 Sep 2025
@shine:proqqul.netTaeer 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

Show newer messages


Back to Room ListRoom Version: 6