samueldr changed the topic of #nixos-infra to: NixOS infrastructure | logs: https://logs.nix.samueldr.com/nixos-infra/
* gchristensen 's thinking about how to garbage collect the cache
<gchristensen> niksnut: if it would let us publish debug symbols by default, I have some paid time to work on garbage collecting the cache. if we find a way to GC, would that let us do symbols?
<ikwildrpepper> gchristensen: how are the two connected?
<ikwildrpepper> or do you mean cost-wise?
<aminechikhaoui> what would like to GC exactly ? would that break builds that still use old nixpkgs version ?
<gchristensen> aminechikhaoui: an important question :P
<gchristensen> ikwildrpepper: cost wise, enabling debug symbols would be like a 10x increase in writes
<ikwildrpepper> gchristensen: seems that would not really be scalable
<gchristensen> there is nothing I can say to that :P can you reply and be more specific?
<ikwildrpepper> i mean, I like the idea of having debug symbol available
<ikwildrpepper> hehe, sorry, more specific, even if we GC a significant part (e.g. 60% of the cache), we would still use 4x more storage and costs would go up 4x
<ikwildrpepper> right?
<aminechikhaoui> if it's just a matter of removing disk caches (binary-cache-vx.sqlite` files) then it's probably not that intrusive but if it triggers odd build issues then it's gonna be a pain to handle for people using old nixpkgs versions (asking for a friend :D)
<niksnut> I don't think we can aford to enable debug symbols for everything
<ikwildrpepper> aminechikhaoui: haha
<niksnut> maybe for a couple of core libraries
<gchristensen> debug symbols is a pretty nasty problem. you can't get them unless you've crystal-ball'd your way to knowing which programs will crash
<ikwildrpepper> gchristensen: maybe we start a crowdfunding for 200k / year for getting deubg symbols for all :)
<garbas> could we upload debug symbols somewhere cheaper (but slower)?
<gchristensen> we need real data tbh
<niksnut> it's not just storage costs
<niksnut> it also slows down hydra, user's local builds, ...
<gchristensen> write speed?
<ikwildrpepper> aminechikhaoui: btw, your friend should have a private binary cache, right? or are you asking for different friend than I thought? ;)
<gchristensen> how is it that other distros are able to do this by default?
<niksnut> because they have money
<aminechikhaoui> ikwildrpepper right but I imagine many deps are provided by cache.nixos.org and my friend is scared of many people asking him to fix their odd builds :P
<ikwildrpepper> :)
<gchristensen> niksnut: fair :P when you say slows down hydra -- which parts are you thinking?
<niksnut> copying debug symbols from the builders, uploading them to S3
<aminechikhaoui> and maybe compression of possibly huge files with xz
<gchristensen> alternative idea
<gchristensen> would it be possible to create debug symbols after-the-fact and trick GDB in to looking at them?
<niksnut> in theory, yes
<niksnut> if you have a reproducible build
<niksnut> the build IDs should be the same
<niksnut> but it would be pretty impractical
<niksnut> because given an ELF library in a store path, you would have to figure out what derivation it was built from
<gchristensen> right
<gchristensen> damn
<gchristensen> just to start at the beginning, we agree no debug symbols is pretty annoying and it'd be nice to have a way to have them, right?
<niksnut> sure, but it would be a benefit to a pretty small number of people while imposing a significant cost on everybody else
<gchristensen> I'm looking for practical ways to run tests for the nixops repo which include actual `nixops deploy`s
<gchristensen> any ideas on how to do this? I have one idea, but I don't like it very much. my idea right now is to set up one of my buildkite agents to do it
<gchristensen> I'd really like to do this with all the "top plugins" like nixops, nixops-aws, nixops-hetzner (if possible?) nixops-packet (my favorite) so there'd need to be some credentials and there'd be some risk there to take on, but I think it'd be worth it