Subject: bug#31974: If a phase returns #f, a warning is issued, but the build continues

From: [email-masked] (Ludovic Courtès)
Date: Wed, 27 Jun 2018 22:14:57 +0200

Mark H Weaver <[email-masked]> skribis:

> I just noticed that I made a mistake in commit
> d8a3b1b9e847d4a44d2695f95af77170d4d2788f, which changed 'gnu-build' in
> (guix build gnu-build-system) to issue a warning if a phase returns a
> value other than #t.
>
> The result is that if a phase returns a value other than #t, a warning
> is issued, but the build nonetheless continues to the next phase, and
> the build could ultimately "succeed" even some phases returned #f.
>
> In other words, the return values of phases are effectively ignored,
> except for the warning, so the only way to cause a build with phases to
> fail is to raise an exception.

Thanks for the heads-up.  In practice, I suppose many builds would
eventually fail anyway, but we’ll have to keep an eye on it.

Ludo’.