Skip to content

kragniz/nixbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nixbot

The cutest merge assistant in all of nixpkgs.

This bot will merge pull requests if asked nicely by someone who is listed as a maintainer for the files the pull request changes.

It reads from a simple JSON file containing each maintainer and a list of the approximate paths of packages they maintain, something like:

{
    "goibhniu": [
        "pkgs/applications/audio/synthv1/*",
        "pkgs/os-specific/linux/xf86-input-wacom/*",
        "pkgs/development/libraries/frei0r/*",
        "pkgs/applications/audio/fluidsynth/*",
        "pkgs/development/libraries/aubio/*",
        "pkgs/applications/audio/jalv/*",
        "pkgs/applications/audio/sonic-visualiser/*",
        "pkgs/development/tools/selenium/chromedriver/*",
        "pkgs/applications/video/key-mon/*",
        "pkgs/development/libraries/mlt/*",
        "pkgs/servers/http/yaws/*",
        "pkgs/development/libraries/libgig/*",

This data was auto generated by the generate-maintainer-paths script, which simply runs git grep <maintainer name> and checks the word maintainer and default.nix appears on the line. If this bot gets actual usage, this list should be managed in a more sensible and less hacky way.

With this bot running, if a pull request is submitted that touches a package, the maintainer for that package may comment "@nixbot merge this please" to have it merged without that maintainer having commit rights for the entirety of nixpkgs. Merging is not permitted via this method to contributors who are not maintainers of the package being modified. This can be seen in action here: nixbot/nixpkgs-sandbox#9

While this is a simple implementation currently, more complex things such as hydra or travis integration and requiring more than one vote to merge are possible.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages