From 12a4434bfc3c3f11cd8dea615cd0ff8f205d6a4f Mon Sep 17 00:00:00 2001 From: Winter Date: Sat, 9 Aug 2025 01:21:19 -0400 Subject: [PATCH] spindle/engine: run DestroyWorkflow when setup fails Change-Id: ttsklrrustymunptwmqwrpmulospwvns It's possible for SetupWorkflow to provision resources and also fail, so this makes sense for robustness. Signed-off-by: Winter --- spindle/engine/engine.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spindle/engine/engine.go b/spindle/engine/engine.go index 683fc58..bc804a3 100644 --- a/spindle/engine/engine.go +++ b/spindle/engine/engine.go @@ -54,6 +54,11 @@ func StartWorkflows(l *slog.Logger, vault secrets.Manager, cfg *config.Config, d // In the original, we only do in a subset of cases. l.Error("setting up worklow", "wid", wid, "err", err) + destroyErr := eng.DestroyWorkflow(ctx, wid) + if destroyErr != nil { + l.Error("failed to destroy workflow after setup failure", "error", destroyErr) + } + dbErr := db.StatusFailed(wid, err.Error(), -1, n) if dbErr != nil { return dbErr -- 2.43.0