--- Begin Message ---
Subject: |
[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
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#33515] [PATCH 0/5] Cuirass/Hydra: evaluate jobs in an inferior |
Date: |
Sun, 06 Jan 2019 21:44:36 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hi,
Ludovic Courtès <address@hidden> skribis:
> I ran ‘guix pull’ and then installed guile-git in hydra’s profile, which
> fixed this immediate issue. Now the evaluation failure is a bit more
> enigmatic:
>
> XML or text declaration not at start of entity at line 2, column 0, byte 1 at
> /usr/local/lib/perl5/site_perl/5.18.0/x86_64-linux/XML/Parser.pm line 187.
>
> I’m guessing ‘hydra-eval-guile-jobs’ is not sending proper XML, or
> perhaps we’re writing non-XML stuff to stdout that gets interspersed
> with valid XML.
>
> To be continued…
This was caused by an extra newline at the beginning of the XML output.
Pushed now to master:
b5f8c2c885 hydra: Compute jobs in an inferior.
65ff85dcee hydra: evaluate: Add the checkout to the store.
59fb5c1cdb hydra: Move job definitions to (gnu ci).
afb82831fa build-self: Don't clobber the output port.
Ludo’.
--- End Message ---