diff --git a/cmd/image-builder/build.go b/cmd/image-builder/build.go index bddc9ad..f644fb8 100644 --- a/cmd/image-builder/build.go +++ b/cmd/image-builder/build.go @@ -37,10 +37,13 @@ func buildImage(pbar progress.ProgressBar, res *imagefilter.Result, osbuildManif OutputDir: opts.OutputDir, } if opts.WriteBuildlog { + if err := os.MkdirAll(opts.OutputDir, 0755); err != nil { + return fmt.Errorf("cannot create buildlog base directory: %w", err) + } p := filepath.Join(opts.OutputDir, fmt.Sprintf("%s.buildlog", outputNameFor(res))) f, err := os.Create(p) if err != nil { - return err + return fmt.Errorf("cannot create buildlog: %w", err) } defer f.Close() diff --git a/cmd/image-builder/main_test.go b/cmd/image-builder/main_test.go index aa00a62..ad78377 100644 --- a/cmd/image-builder/main_test.go +++ b/cmd/image-builder/main_test.go @@ -401,7 +401,7 @@ func TestBuildIntegrationArgs(t *testing.T) { }, } { t.Run(strings.Join(tc.args, ","), func(t *testing.T) { - outputDir := t.TempDir() + outputDir := filepath.Join(t.TempDir(), "output") cmd := []string{ "build",