From 652e52e98bcc50ce3282ce3b3b26023a276d3705 Mon Sep 17 00:00:00 2001 From: Fredrik Medley Date: Wed, 18 Dec 2024 20:40:23 +0100 Subject: [PATCH] Log failure to close and remove build directory There is no real way to forward directory deletion errors when an execution has failed as it would cover the main error. Therefore, print it as a log. --- pkg/builder/local_build_executor.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/builder/local_build_executor.go b/pkg/builder/local_build_executor.go index a2a1c77d..190a806b 100644 --- a/pkg/builder/local_build_executor.go +++ b/pkg/builder/local_build_executor.go @@ -2,6 +2,7 @@ package builder import ( "context" + "log" "os" "sync" "time" @@ -114,7 +115,11 @@ func (be *localBuildExecutor) CheckReadiness(ctx context.Context) error { if err != nil { return util.StatusWrap(err, "Failed to get build directory") } - defer buildDirectory.Close() + defer func() { + if err := buildDirectory.Close(); err != nil { + log.Printf("Failed to close build directory %s: %s", buildDirectoryPath.GetUNIXString(), err) + } + }() // Create a useless directory inside the build directory. The // runner will validate that it exists. @@ -166,6 +171,7 @@ func (be *localBuildExecutor) Execute(ctx context.Context, filePool re_filesyste attachErrorToExecuteResponse( response, util.StatusWrap(err, "Failed to close build directory")) + log.Printf("Failed to close build directory %s: %s", buildDirectoryPath.GetUNIXString(), err) } }()