[Top][All Lists]

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

Re: Getting Unit Test Results Out Of Guix Build

From: Phil
Subject: Re: Getting Unit Test Results Out Of Guix Build
Date: Fri, 05 Nov 2021 01:53:17 +0000
User-agent: mu4e 1.4.15; emacs 27.2


raingloom writes:

> The --dry-run option is the closest thing that I know of. Not sure what
> its Scheme equivalent is.

Thanks yes - I think this suffers from a similar issue to my own
approach in that when a build fails, the store item is removed, along
with the test results contained within.  So getting the directory was
only half the battle.  In this case you could use "-K" and have
separate logic to deal with success (using a new output) and failure
(trawl /tmp for the results) but this strikes me as too
complicated. "-K" won't work with build offloading either.

And alternative approach I have been looking at is (carefully) using
--chroot-directory option on the daemon.  It's not ideal as it risks a
leaky container, but an extra directory can added to the build container
for the sole purpose of test results.  It seems to me if I make the
directory owned-by but read-only to my build pipeline account (which
calls guix and collects the results), and give the directory a group id
of guixbuild, but make the group write-only, then I can have a situation
where the extra directory doesn't pollute the container, allowing build
artifacts to flow outwards only, with no files being able to flow into
the build.

The problem I see with this is if (like me) you have a machines.scm
offloading builds you need a way of retrieving the artifacts off the
remote workers (I am assuming they won't sync automatically, but haven't
yet tested).  A crude solution to this is simply to NFS mount or similar
the chroot'ed directory so each worker shares the same directory.

Any more comments/ideas welcome - I'll report back if I get something
palatable working.

reply via email to

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