From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 26 11:38:26 2018 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 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 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: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/5] Cuirass/Hydra: evaluate jobs in an inferior 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) 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 -- 2.19.1