From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Lirzin Subject: Re: [GSoC] Continuous integration tool =?utf-8?Q?=C3=A0?= la Hydra. Date: Sun, 07 Aug 2016 01:45:04 +0200 Message-ID: <874m6xsbr3.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59829) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bWBHF-00039Q-Sw for guix-devel@gnu.org; Sat, 06 Aug 2016 19:45:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bWBHA-0001CR-UV for guix-devel@gnu.org; Sat, 06 Aug 2016 19:45:12 -0400 In-Reply-To: (David Craven's message of "Sat, 6 Aug 2016 13:05:15 +0200") 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" To: David Craven Cc: guix-devel Hello David, David Craven writes: > Are you already working on a package/service for guix? This would indeed be the goal, however I am not there yet. > I'd like to deploy it to my server to avoid silly mistakes > like in my last two pushes to master... > > Does it rebuild from commit individually or only HEAD? > This would be nice to check for rebase mistakes where > HEAD builds but a commit doesn't. That would make sense as an option, however the current model is simplistic and only evaluates the new HEAD commit. > Does it already support building packages for all guix > supported systems? For now, you have to modify the 'gnu-system.scm' file to your needs to achieve that. basically you need to define another "subset" case in 'gnu-system.scm' and adjust the '#:arguments' value in the job specification. > ``` > (define (local-file file) > ;; In the common case jobs will be defined relative to the repository. > ;; However for testing purpose use local gnu-system.scm instead. > (string-append (dirname (current-filename)) "/" file)) > (define hello-master > `((#:name . "guix") > (#:url . "git://git.savannah.gnu.org/guix.git") > (#:load-path . ".") > (#:file . ,(local-file "gnu-system.scm")) > (#:proc . hydra-jobs) > (#:arguments (subset . "hello")) > (#:branch . "master"))) > (list hello-master) > ``` > > Can I also define custom jobs like running guix --rounds=2 and > guix lint? Likewise. However this would require more work. :) I guess the future approach will be to define both the scheme code running on the client side and on the build (remote) side in the job specification. I mean something similar to what Guix is doing for its package definitions. The details are not defined yet. Thanks for your questions. -- Mathieu Lirzin