diff --git a/pkg/config/render_config/render_config.go b/pkg/config/render_config/render_config.go index 5dd5108684f4..59ef4eb195cc 100644 --- a/pkg/config/render_config/render_config.go +++ b/pkg/config/render_config/render_config.go @@ -113,20 +113,17 @@ func mkContext(buildType string, osName string) context { } func render(destFile string, tplFile string, component string, osName string) { - f, err := os.Create(destFile) - if err != nil { - panic(err) - } - tplFilename := filepath.Base(tplFile) t := template.Must(template.New(tplFilename).ParseFiles(tplFile)) - err = t.Execute(f, mkContext(component, osName)) - if err != nil { + var buf bytes.Buffer + if err := t.Execute(&buf, mkContext(component, osName)); err != nil { panic(err) } - if err := f.Close(); err != nil { + rendered := append(bytes.TrimRight(buf.Bytes(), "\n\r \t"), '\n') + + if err := os.WriteFile(destFile, rendered, 0644); err != nil { panic(err) } } diff --git a/tasks/schema/template.py b/tasks/schema/template.py index 40cafb635f36..219efb722d57 100644 --- a/tasks/schema/template.py +++ b/tasks/schema/template.py @@ -413,7 +413,7 @@ def generate_template(schema_file, dest, build_type, os_target): final_render = [line.strip() for line in config_template.strip().split("\n")] with open(dest, "w") as f: - f.write("\n".join(final_render)) + f.write("\n".join(final_render) + "\n") @task(