Automating updates of Ruby packages

@ryantm runs a bot that automates updates of a lot of packages, but the description of how it works suggests that it won’t work with bundlerApp tools as those things don’t list the version or hash directly in the package file.

Is there any solution for automating the update of packages like this? Could perhaps nixpkgs-update be taught how to handle this sort of package? For the bundlerApp packages I’m familiar with, the update process is literally just running a script ./update (which itself just uses bundler lock and bundix). I’m currently maintaining two packages in this style (cocoapods and jazzy), and there’s a 3rd package in this style (fastlane) that is rather out of date in Nix and I’m considering updating it right now, but it has a new release every week or so (there’s been 4 releases in the past month alone) and I’d rather not have to manually update it so aggressively.

You could try setting updateScript like Python did:

Then we could add updateScript support to nixpkgs-update. I had it on my to do list for a while but unfortunately I could not find time to implement it.

Thanks for the suggestion. I went ahead and submitted a PR to add an updateScript to cocoapods, though it wasn’t the most obvious how to actually do that effectively (I filed passthru.updateScript is a little hard to use · Issue #61935 · NixOS/nixpkgs · GitHub) about the ergonomics of updateScript).

This script doesn’t actually touch the package file either (since the package version and hash are derived from the gemset.nix) so it’s not immediately obvious how nixpkgs-update will know what package it is, and especially because two different top-level attributes (cocoapods and cocoapods-beta) use the same default.nix.