branch: main
commit aaf4ad557be3a6d72c6ae4c35b9ff8e7943fbc7d
Author: Romain GARBAGE <romain.garb...@inria.fr>
AuthorDate: Fri Apr 4 16:16:23 2025 +0200

    base: Always return one value from ‘handle-build-event’.
    
    ‘process-build-log’ expects ‘handle-build-event’ to return one value;
    previously it would find itself returning zero values when ‘put-message’
    was called in tail position.
    
    * src/cuirass/base.scm (handle-build-event): Ensure a value is returned.
    
    Signed-off-by: Ludovic Courtès <l...@gnu.org>
    Modified-by: Ludovic Courtès <l...@gnu.org>
---
 src/cuirass/base.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index 96c0985..5245c60 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -355,17 +355,17 @@ updating the database accordingly."
          (begin
            (log-info "build succeeded: '~a'" drv)
            (set-build-successful! drv)
-           (register-gc-roots drv)
            (put-message event-log
-                        `(new-event (derivation-built ,drv ,(build-status 
succeeded)))))
+                        `(new-event (derivation-built ,drv ,(build-status 
succeeded))))
+           (register-gc-roots drv))
          (log-warning "bogus build-succeeded event for '~a'" drv)))
     (('build-failed drv _ ...)
      (if (valid? drv)
-         (begin
+         (let ((ret (db-update-build-status! drv (build-status failed))))
            (log-info "build failed: '~a'" drv)
-           (db-update-build-status! drv (build-status failed))
            (put-message event-log
-                        `(new-event (derivation-built ,drv ,(build-status 
failed)))))
+                        `(new-event (derivation-built ,drv ,(build-status 
failed))))
+           ret)
          (log-warning "bogus build-failed event for '~a'" drv)))
     (('substituter-started item _ ...)
      (log-debug "substituter started: '~a'" item))

Reply via email to