From f5d2c5668d7c79ff24afebe36a1f9879f2eb3d5f Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Wed, 17 Apr 2024 01:59:02 -0600 Subject: Update imworkingon atomically, don't delete it on failure --- Makefile | 1 + cmd/generate/main.go | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 6f4ec87..0ece25f 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,7 @@ generate-clean: public/imworkingon/index.html: FORCE go run ./cmd/generate +.PRECIOUS: public/imworkingon/index.html public/imworkingon/imworkingon.css: public/imworkingon/imworkingon.scss sass $< $@ diff --git a/cmd/generate/main.go b/cmd/generate/main.go index cee752f..e26120d 100644 --- a/cmd/generate/main.go +++ b/cmd/generate/main.go @@ -91,7 +91,10 @@ func mainWithError() error { }); err != nil { return err } - if err := os.WriteFile("public/imworkingon/index.html", out.Bytes(), 0666); err != nil { + if err := os.WriteFile("public/imworkingon/index.new.html", out.Bytes(), 0666); err != nil { + return err + } + if err := os.Rename("public/imworkingon/index.new.html", "public/imworkingon/index.html"); err != nil { return err } return nil -- cgit v1.2.3-2-g168b