From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cyril Roelandt Subject: Re: Guix review bot Date: Wed, 19 Aug 2015 01:26:58 +0200 Message-ID: <55D3BF42.4040702@gmail.com> References: <55b8115e.b327b40a.ddb9a.ffffcab2@mx.google.com> <871tf0r58i.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45660) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZRqHa-0003sf-2x for guix-devel@gnu.org; Tue, 18 Aug 2015 19:27:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZRqHV-0001J7-Dk for guix-devel@gnu.org; Tue, 18 Aug 2015 19:27:06 -0400 In-Reply-To: <871tf0r58i.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?UTF-8?B?THVkb3ZpYyBDb3VydMOocw==?= Cc: guix-devel@gnu.org On 08/18/2015 05:22 PM, Ludovic Courtès wrote: > Guix-Bot skribis: > >> This is Guix-Bot, a bot meant to put Guix reviewers out of a job. I reviewed >> your patch, and here is what I can tell you about it: >> >> PATCH: /home/cyril/guix/0001-gnu-Add-xscreenshot.patch: >> - The patch can be applied on top of master. >> - The compilation succeeded. >> - Guix lint failed: >> gnu/packages/suckless.scm:220:5: xscreenshot-1.0: sentences in description should be followed by two spaces; possible infraction at 42 > > That sounds neat! Could you tell us more about it? > Well, I wanted to have automatic reviews for certain patches, so I wrote a quick and dirty piece of Python code that, given an email, extracts a patch from it, applies it on top of master, and runs "make" and "guix lint ". The idea was to use offlineimap to check my guix directory on a regular basis, and inotify to trigger the Python code whenever a new mail was fetched. In the end, it is a bit more complex than what I thought, because there are lots of ways to send a patch: there are different possible encodings, one might send a patch attached to an email, or attach a patch generated using git format-patch, or use git send-email... Also, the code I wrote is Guix-centric, and it might be nice to have an agnostic tool instead. I think patchwork[1] does a nice job of keeping track of threads in mailing-lists (which my tool cannot do at the moment), but I don't know if it can trigger a CI build. Also, Qemu seems to have some sort of email-based CI, but I am not sure what version is the "right" one (there are forks at https://github.com/aliguori/patches, https://github.com/stefanha/patches/tree/stefanha-tweaks and probably some other places). There is also https://github.com/famz/patchew, but it seems to require Docker... tl;dr: I'm not sure exactly what the right tool to use is :) Cyril. [1] http://jk.ozlabs.org/projects/patchwork/