in codecatalyst-runner/pkg/workflows/report_processor.go [48:76]
func newReportProcessor(reportsDir string, report *Report, successCriteria *SuccessCriteria) common.Executor {
handlers := []reportHandler{
sarifReportHandler(successCriteria.VulnerabilityThreshold),
}
return func(ctx context.Context) error {
err := filepath.WalkDir(reportsDir, func(path string, d fs.DirEntry, err error) error {
if d != nil && d.Type().IsRegular() {
for _, handler := range handlers {
reportFile, err := os.Open(path)
if err != nil {
return err
}
defer reportFile.Close()
if err := handler(reportFile, report); err != nil {
return nil
}
}
}
return nil
})
if err != nil {
return err
}
if report.Result == "" {
report.Result = ResultSucceeded
}
return nil
}
}