"Personal hydra" to build & test specific packages on nixos-master periodically

I made sort of a “personal hydra” this weekend using github actions + cachix. The purpose is to rebuild a subset of packages that I care about from nixpkgs-master every few hours, caching both build successes and failures.

It’s super hacky.

If anyone has a better version of this, or would like to use it themselves, let me know or just go for it.

Code is here: https://github.com/rmcgibbo/mydra
Display is here: mydra

8 Likes

pretty nice, might be improved by filtering by build status, as you’re mostly concerned about failing builds

Really cool :slight_smile: I’ve opened https://github.com/NixOS/nix/issues/4127 a while ago since I think it would help the scenario where a long-running job is known to be failing and caching failed builds would help save ton of time.

2 Likes

Thanks guys. Both are good ideas.

I did use code from @timokau’s https://github.com/timokau/nix-bisect to implement negative caching, but it’s a bit of a hassle.

Another idea would be to have a similar tool automatically run @Mic92’s nixpkgs-review against new PRs on github-actions and post the results to the PR. Maybe I’ll do that next weekend. Or has anyone done that before?

1 Like

Make sure to filter out mass rebuilds and if you want long running builds which is possible with a PR of mine. I can provide you with a list of packages that take a long time. If you want any feature or find bugs let me know and I can try to fix them if you don’t find the time or are not familiar with the code.

1 Like