diff --git a/internal/stage/run.go b/internal/stage/run.go index aa95468..b303e7c 100644 --- a/internal/stage/run.go +++ b/internal/stage/run.go @@ -32,6 +32,7 @@ func Run(stages []Stage) (stageResults []StageResult, err error) { slog.Debug("executor run done", "result.Files", executorResult.Files) } parserResults = []ParserResult{} + stageForceQuit := false for _, stageParser := range stage.Parsers { slog.Info("parser run start", "name", stageParser.Name) slog.Debug("parser run start", "name", stageParser.Name, @@ -48,6 +49,7 @@ func Run(stages []Stage) (stageResults []StageResult, err error) { slog.Error("parser run error", "name", stageParser.Name, "error", err) return } + stageForceQuit = stageForceQuit || forceQuit slog.Debug("parser run done", "results", tmpParserResults) if len(parserResults) == 0 { parserResults = tmpParserResults @@ -59,15 +61,14 @@ func Run(stages []Stage) (stageResults []StageResult, err error) { } if forceQuit { slog.Error("parser force quit", "name", stageParser.Name) - break } } stageResults = append(stageResults, StageResult{ Name: stage.Name, Results: parserResults, - ForceQuit: forceQuit, + ForceQuit: stageForceQuit, }) - if forceQuit { + if stageForceQuit { break } }