spindle/engine: run DestroyWorkflow when setup fails #426

merged
opened by winter.bsky.social targeting master from winter.bsky.social/core: push-luoyqwkpromz

It's possible for SetupWorkflow to provision resources and also fail, so this makes sense for robustness.

Signed-off-by: Winter winter@winter.cafe

Changed files
+6
spindle
engine
+6
spindle/engine/engine.go
···
// TODO(winter): Should this always set StatusFailed?
// In the original, we only do in a subset of cases.
l.Error("setting up worklow", "wid", wid, "err", err)
+
+
destroyErr := e.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