| 28 Dec 2025 |
tomberek | eveeifyeve: There is a Hydra plugin to make a jobset per PR from Github webhooks. It does work and it is possible to connect it to GHA status reports, but it has pretty minimal usage, poorly documented, and might run into bugs. (i've used it at a small scale)
Another option would be to submit jobs directly using the Hydra API per GitHub Action. Also, this use-case isn't thoroughly developed either.
I do think some kind of easy Hydra / Generic-Forge integration would be nice to have. I see a bunch of places essentially re-inventing this all the time.
| 18:49:20 |
eveeifyeve | I might be better off making my own CI. | 18:50:33 |
eveeifyeve | * I might be better off making my own CI cause buildbot is just not the best to use. | 18:51:00 |
tomberek | I'm trying to see if there is interest for there to be a better set of tools for making CI systems. Rather than building a full CI/CD system, Nix could mature the tooling needed so that anyone can build their own. Some examples of the sorts of things this could mean:
- official nix-eval-jobs
- nix-eval-jobs with better perf/caching
- eval/fetcher/tarball cache distribution niceties
- remote builders can submit jobs to a job queue
- smart job distribution taking into account local closures
- Hydra + nix-daemon: why are these two separate things? The event loop is different, but what if all builds on a Nix system exposed a web and API interface and ability for a pull-based workflow (Hydra) OR an on-demand one (nix-daemon).
| 18:56:09 |
| embr joined the room. | 19:42:26 |
eveeifyeve | This might be best for when we do eventually do a rewrite nix in rust. Cause in the couples of meetings ago, we did eventually want to look into a full rewrite so playing around with harmonia for now seems the best option before going ahead and doing a pr that fully rewrites nix. | 20:27:20 |
embr | I might be interested in this, but have to think about it after 39c3 - I just finished my work on Gorgon, and I've got a lot of thoughts in this kind of direction. | 20:33:33 |
tomberek | https://nlnet.nl/project/GorgonCI/ | 20:50:18 |
vcunat | When a complex software has been used in production for many years, it almost always takes really lots of effort to rewrite it and get a similar quality. | 20:52:45 |
7c6f434c | Hopefully an evaluator rewrite will tell the caching layer what files have been looked at at all. Hopefully a daemon rewrite would have client-reference-counting for builds from the beginning… So quality is probably not something that can be compared in a linear order | 20:55:38 |
Sergei Zimmerman (xokdvium) | In reply to @7c6f434c:nitro.chat Hopefully an evaluator rewrite will tell the caching layer what files have been looked at at all. Hopefully a daemon rewrite would have client-reference-counting for builds from the beginning… So quality is probably not something that can be compared in a linear order There’s no reason to rewrite the evaluator to do this now. It already funnels everything through an internal I/O abstraction | 20:57:15 |
Sergei Zimmerman (xokdvium) | It would be pretty easy to do and in fact zimbatm had some quick and dirty poc | 20:58:00 |
hacker1024 | We do this using declarative jobsets and the GitHub pull request plugin | 20:58:01 |
hacker1024 | Status is reported using the GitHub status report plugin, and we have a GitHub action to set pending statuses to bridge the gap while Hydra evaluates | 20:59:33 |
eveeifyeve | Idk I think I might try write a ci/cd using pure rust and dioxus. | 21:02:12 |
eveeifyeve | Is it okay If I rewrite the web stuff in dioxus? | 21:05:23 |
eveeifyeve | * Is it okay If I rewrite the web stuff in dioxus? I have been thinking of doing that, kinda like the queue runner v2 stuff as a business. | 21:06:09 |
eveeifyeve | * Is it okay If I rewrite the web stuff in dioxus or at least try? I have been thinking of doing that, kinda like the queue runner v2 stuff as a business. | 21:06:54 |
eveeifyeve | In rust? | 21:11:23 |
Sergei Zimmerman (xokdvium) | In cppnix | 21:11:31 |
eveeifyeve | Would there be a point to rewrite it in rust? | 21:13:25 |
eveeifyeve | * Would there be a point to rewrite it in rust? Because I am happy to write a pr that rewrites it directly. | 21:13:45 |
eveeifyeve | * Would there be a point to rewrite it in rust? Because I am happy to write a pr that rewrites it directly in rust. | 21:13:55 |
Sergei Zimmerman (xokdvium) | Is this a hydra channel or what? | 21:14:00 |
eveeifyeve | Yes. | 21:14:35 |
eveeifyeve | * Hydra channel, WDYM? | 21:15:05 |
eveeifyeve | * Hydra channel, what do you mean? | 21:15:18 |
eveeifyeve | * Hydra channel, what do you mean?? | 21:15:27 |
eveeifyeve | * Hydra channel, what do you mean?? Please explain. | 21:16:39 |
| 30 Dec 2025 |
| jasper changed their display name from jasper @ 39c3 ☎️ 62749 to jasper. | 23:38:40 |