Subject: Test suite logs aren't printed on failure during package build

From: Maxime Devos <[email-masked]>
Date: Thu, 24 Aug 2023 17:16:13 +0200

From <https://ci.guix.gnu.org/build/1865837/log/raw>:

> make[4]: *** [Makefile:6303: tests/publish.log] Error 134
> make[4]: Leaving directory '/tmp/guix-build-guix-1.4.0-8.0e6215a.drv-0/source'
> make[3]: *** [Makefile:6285: check-TESTS] Error 2
> make[3]: Leaving directory '/tmp/guix-build-guix-1.4.0-8.0e6215a.drv-0/source'
> make[2]: *** [Makefile:6533: check-am] Error 2
> make[2]: Leaving directory '/tmp/guix-build-guix-1.4.0-8.0e6215a.drv-0/source'
> make[1]: *** [Makefile:6062: check-recursive] Error 1
> make[1]: Leaving directory '/tmp/guix-build-guix-1.4.0-8.0e6215a.drv-0/source'
> make: *** [Makefile:6535: check] Error 2
> 
> Test suite failed, dumping logs.
> error: in phase 'check': uncaught exception:
> %exception #<&invoke-error program: "make" arguments: ("check") exit-status: 2 term-signal: #f stop-signal: #f> 
> phase `check' failed after 358.4 seconds
> command "make" "check" failed with status 2
> builder for `/gnu/store/aw8li62xps10cz32crrxvm18ccafvzh0-guix-1.4.0-8.0e6215a.drv' failed with exit code 1
> @ build-failed /gnu/store/aw8li62xps10cz32crrxvm18ccafvzh0-guix-1.4.0-8.0e6215a.drv - 1 builder for `/gnu/store/aw8li62xps10cz32crrxvm18ccafvzh0-guix-1.4.0-8.0e6215a.drv' failed with exit code 1
> cannot build derivation `/gnu/store/dhf0chl41bj37a20c7bwdqnbjjgsc1i0-gwl-0.5.1.drv': 1 dependencies couldn't be built

Sure, the log has been dumped somewhere, but it's dumped in the build 
directory instead of the build log of the Guix package.  It would be 
quite convenient if there were some kind of flag or something (that is 
enabled in the package definition) to dump dump it to stderr.  Or just 
some ad-hoc:

(guard (c ((invoke-error? c)
            [copy all tests/*.log to stderr]
            (raise-continuable c)))
    [run tests]).

Alternatively, Cuirass could copy some parts of failed builds and 
present them in the UI.

Best regards,
Maxime Devos