From 0d2668e452de2ce84270a21447209e8fedd55342 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Wed, 8 Apr 2020 18:31:40 +0200 Subject: [PATCH] Print warning if container-diffs return errors to stderr --- pkg/compiler/backend/simpledocker.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/compiler/backend/simpledocker.go b/pkg/compiler/backend/simpledocker.go index a8a720e3..88538b00 100644 --- a/pkg/compiler/backend/simpledocker.go +++ b/pkg/compiler/backend/simpledocker.go @@ -16,6 +16,7 @@ package backend import ( + "bytes" "encoding/json" "fmt" "io/ioutil" @@ -241,13 +242,20 @@ func (*SimpleDocker) Changes(fromImage, toImage string) ([]compiler.ArtifactLaye return []compiler.ArtifactLayer{}, errors.Wrap(err, "Error met while creating tempdir for rootfs") } defer os.RemoveAll(tmpdiffs) // clean up + var errorBuffer bytes.Buffer diffargs := []string{"diff", fromImage, toImage, "-v", "error", "-q", "--type=file", "-j", "-n", "-c", tmpdiffs} - out, err := exec.Command("container-diff", diffargs...).Output() + cmd := exec.Command("container-diff", diffargs...) + cmd.Stderr = &errorBuffer + out, err := cmd.Output() if err != nil { return []compiler.ArtifactLayer{}, errors.Wrap(err, "Failed Resolving layer diffs: "+string(out)) } + if string(errorBuffer.Bytes()) != "" { + Warning("container-diff errored with: " + string(errorBuffer.Bytes())) + } + if config.LuetCfg.GetGeneral().ShowBuildOutput { Info(string(out)) }