From patchwork Mon Nov 26 16:37:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 313 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0305B16826; Mon, 26 Nov 2018 16:39:16 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) by mira.cbaines.net (Postfix) with ESMTPS id 9243F1681B for ; Mon, 26 Nov 2018 16:39:15 +0000 (GMT) Received: from localhost ([::1]:37569 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRJuk-00082Q-Ef for patchwork@mira.cbaines.net; Mon, 26 Nov 2018 11:39:14 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40581) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRJuf-00081B-Td for guix-patches@gnu.org; Mon, 26 Nov 2018 11:39:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRJuY-0001dZ-M2 for guix-patches@gnu.org; Mon, 26 Nov 2018 11:39:09 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:45778) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gRJuY-0001dQ-JI for guix-patches@gnu.org; Mon, 26 Nov 2018 11:39:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gRJuY-0001XY-Fm for guix-patches@gnu.org; Mon, 26 Nov 2018 11:39:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#33515] [PATCH 0/5] Cuirass/Hydra: evaluate jobs in an inferior Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 26 Nov 2018 16:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 33515 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 33515@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15432503065868 (code B ref -1); Mon, 26 Nov 2018 16:39:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Nov 2018 16:38:26 +0000 Received: from localhost ([127.0.0.1]:50036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRJtx-0001Wa-Uc for submit@debbugs.gnu.org; Mon, 26 Nov 2018 11:38:26 -0500 Received: from eggs.gnu.org ([208.118.235.92]:58832) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRJtv-0001WJ-Uc for submit@debbugs.gnu.org; Mon, 26 Nov 2018 11:38:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRJtq-0001Mh-5P for submit@debbugs.gnu.org; Mon, 26 Nov 2018 11:38:18 -0500 Received: from lists.gnu.org ([2001:4830:134:3::11]:53149) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gRJtp-0001Ma-WF for submit@debbugs.gnu.org; Mon, 26 Nov 2018 11:38:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40199) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRJtp-0007NW-3N for guix-patches@gnu.org; Mon, 26 Nov 2018 11:38:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRJto-0001M1-Ez for guix-patches@gnu.org; Mon, 26 Nov 2018 11:38:17 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51114) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRJtm-0001LH-MC; Mon, 26 Nov 2018 11:38:14 -0500 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=51744 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gRJtm-0004Nw-E9; Mon, 26 Nov 2018 11:38:14 -0500 From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Mon, 26 Nov 2018 17:37:57 +0100 Message-Id: <20181126163757.17399-1-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hello Guix! This patch set changes the way we compute continuous integration jobs: instead of letting Guile auto-compile all of Guix from its checkout, we first build Guix in the same way as ‘guix pull’, open an inferior to that Guix, and run the job evaluation code in that inferior. I think it’s cleaner and it should be faster and less resource-hungry than the current approach. The build-aux/hydra/gnu-system.scm file will now rely on the (guix channels) and (guix inferior) with the new ‘checkout->channel-instance’ and ‘inferior-eval-with-store’ procedures, which means that Cuirass (and Hydra) will need to be using a recent Guix to be able to perform the evaluation. Apart from that ‘gnu-system.scm’ is rather decoupled from the Guix APIs. To test it for real, we’ll first have to apply the patches that add these two procedures to ‘master’ and to update the ‘guix’ package so we can have a Cuirass instance running the latest and greatest. Thoughts? Ludo’. Ludovic Courtès (5): inferior: Add 'inferior-eval-with-store'. hydra: Move job definitions to (gnu ci). hydra: evaluate: Add the checkout to the store. channels: Add 'checkout->channel-instance'. hydra: Compute jobs in an inferior. build-aux/hydra/evaluate.scm | 55 ++-- build-aux/hydra/gnu-system.scm | 448 +++------------------------------ gnu/ci.scm | 440 ++++++++++++++++++++++++++++++++ gnu/local.mk | 4 +- guix/channels.scm | 12 + guix/inferior.scm | 70 ++++-- guix/self.scm | 3 +- tests/inferior.scm | 9 + 8 files changed, 573 insertions(+), 468 deletions(-) create mode 100644 gnu/ci.scm