ANN: nixpkgs-upkeep update bot

I put together a little bot that is capable of automatically running update.sh scripts, check for changes, and create PRs as necessary. You can check it out here: https://github.com/samuela/nixpkgs-upkeep.

I don’t want to spam maintainers with PRs, so my plan is to slowly add the packages that I use frequently (VSCode primarily) and accept inclusions for other packages over time. Please feel free to send me PRs adding your favorite packages!

Hopefully it’s helpful!

1 Like

nixpkgs-update?

Damn, I wasn’t aware of that project… is there a reason there are some packages that it still doesn’t update? Ie, I created nixpkgs-upkeep out of frustration that the VSCode version on nixpkgs often lags behind the official one.

According to https://github.com/ryantm/nixpkgs-update/pull/205 it’s supposed to run passthru.updateScripts though it may be it silently fails and you would be able to find out why in it’s logs:

See also https://github.com/ryantm/nixpkgs-update/issues/234 .

1 Like

Where is the infrastructure that runs these updates periodically? I’m not seeing anything in the CI that looks like it…

It’s supposed to be nix-community’s infrastructure. @ryantm probably knows more details then I am. I can confirm though that I did not find much details about it either.

1 Like

Here https://github.com/nix-community/infra/blob/4699970b07924809103908ef8f813284c57ef353/build01/nixpkgs-update.nix

1 Like

@samuela Good to see more efforts to keep things up to date, and I’m happy to join forces if it makes sense!

You can see the contributions of the nixpkgs-update bot here: https://github.com/r-ryantm

It’s operating on a shotgun approach: thousands of successful, and thousands of unsuccessful updates.

Looks like it is having trouble finding the derivation file for vscodium:

2020-09-03T23:01:04 vscodium 1.48.0 -> 1.48.2 https://repology.org/metapackage/vscodium/versions
2020-09-03T23:01:12 FAIL Received ExitFailure 1 when running
Raw command: /nix/store/83f38s2vp9nlkh3akilbhw2869xy0b9l-nix-2.3.3/bin/nix-env -qa vscodium-1.48.0 -f . --attr-path --arg config "{ allowBroken = true; allowUnfree = true; allowAliases = false; }" --arg overlays "[ ]"
Standard output:

error: selector 'vscodium-1.48.0' matches no derivations

Thanks @ryantm! I suppose great minds think alike…

Ultimately, my main concern is having a near “real time” updates to the packages I care about. I figured using GitHub Actions would be a convenient, transparent, and (importantly) free way to do this. But I’m not especially dogmatic in terms of how it actually gets done.

nixpkgs-update looks like a great project, and I wish I had known about it before starting!