guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#33515] [PATCH 0/5] Cuirass/Hydra: evaluate jobs in an inferior


From: Ludovic Courtès
Subject: [bug#33515] [PATCH 0/5] Cuirass/Hydra: evaluate jobs in an inferior
Date: Mon, 26 Nov 2018 17:37:57 +0100

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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]