From 8007487fb168851d5b2aae957a3ac0156926f912 Mon Sep 17 00:00:00 2001 From: Alexey Igrychev Date: Tue, 26 Jul 2022 15:43:07 +0100 Subject: [PATCH] feat(render): print build log if failed Signed-off-by: Alexey Igrychev --- cmd/werf/render/render.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/cmd/werf/render/render.go b/cmd/werf/render/render.go index 48b731a252..45711fe6b1 100644 --- a/cmd/werf/render/render.go +++ b/cmd/werf/render/render.go @@ -1,6 +1,7 @@ package render import ( + "bytes" "context" "fmt" "io" @@ -305,19 +306,24 @@ func runRender(ctx context.Context) error { defer conveyorWithRetry.Terminate() if err := conveyorWithRetry.WithRetryBlock(ctx, func(c *build.Conveyor) error { + buf := new(bytes.Buffer) + bufLogger := logboek.NewLogger(buf, buf) + ctxWithBufLogger := logboek.NewContext(ctx, bufLogger) + + var buildErr error if *commonCmdData.SkipBuild { shouldBeBuiltOptions, err := common.GetShouldBeBuiltOptions(&commonCmdData, giterminismManager, werfConfig) if err != nil { return err } - if err := c.ShouldBeBuilt(ctx, shouldBeBuiltOptions); err != nil { - return err - } + buildErr = c.ShouldBeBuilt(ctxWithBufLogger, shouldBeBuiltOptions) } else { - if err := c.Build(ctx, buildOptions); err != nil { - return err - } + buildErr = c.Build(ctxWithBufLogger, buildOptions) + } + if buildErr != nil { + fmt.Println(buf.String()) + return buildErr } imagesInfoGetters = c.GetImageInfoGetters(image.InfoGetterOptions{CustomTagFunc: useCustomTagFunc})