Subject: bug#66692: [cuirass] Spurious failed builds following patching u-boot sources

From: Ludovic Courtès <[email-masked]>
Date: Sat, 28 Oct 2023 11:55:38 +0200

Hi,

Ludovic Courtès <[email-masked]> skribis:

>   2. All the ongoing and about-to-be-started builds carried out by
>      worker processes at that point were marked as failed.

This part of the problem was a bit more subtle.q

When ‘cuirass remote-server’ goes away, ‘cuirass remote-worker’ keeps
going if it was building something.  In that case the build log will be
lost (because the direct connection to the server was cut), but the
worker eventually notifies the server of build success/failure (ZeroMQ,
makes sure those messages are eventually sent, when the server is back).

The bug was that the worker could in some cases, when the server is
down, send a “build failed” message even though the bug had not
completed.

This is fixed by these Cuirass commits:

  2eb3e13 * remote-worker: Discard log anytime ‘send-log’ throws.
  4cc37f5 * remote-worker: Ignore the return value of ‘build-derivations&’.
  3bbb5c8 * store: ‘build-derivations&’ enforces synchronization with the build.

(I have yet to update the ‘cuirass’ package and to deploy it on ci.guix.
It’s been running for a few days at <https://guix.bordeaux.inria.fr>.)

Ludo’.