From 9991313c33754c8410685b8f301ac3926253c855 Mon Sep 17 00:00:00 2001 From: Jared Palmer Date: Thu, 16 Dec 2021 23:53:08 -0500 Subject: [PATCH] Validate graphs before execution --- cli/internal/run/run.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cli/internal/run/run.go b/cli/internal/run/run.go index de66df041595c..e48f467e76c34 100644 --- a/cli/internal/run/run.go +++ b/cli/internal/run/run.go @@ -603,7 +603,17 @@ func (c *RunCommand) Run(args []string) int { Parallel: runOptions.parallel, TasksOnly: runOptions.only, }); err != nil { - c.Ui.Error(fmt.Sprintf("Error preparing engine: %s", err)) + c.Ui.Error(fmt.Sprintf("Error preparing graph: %s", err)) + return 1 + } + + if err := engine.TopologicGraph.Validate(); err != nil { + c.logError(c.Config.Logger, "", fmt.Errorf("Invalid dependency graph: %w", err)) + return 1 + } + + if err := engine.TaskGraph.Validate(); err != nil { + c.logError(c.Config.Logger, "", fmt.Errorf("Invalid task graph: %w", err)) return 1 }