in linter/main.go [251:269]
func getJobNamesMap(gitRoot string) (map[string]int, error) {
jobNamesCountMap := map[string]int{}
allJobNames := []string{}
yqNameEvalExpressions := map[string]string{"presubmit": ".*.*[0].name", "postsubmit": ".*.*[0].name", "periodic": ".*[0].name"}
for jobType, expression := range yqNameEvalExpressions {
jobNamesOutput, err := exec.Command("bash", "-c", fmt.Sprintf("find %s -type f -name '*%s*' -exec yq '%s' {} + | grep -v '\\-\\-\\-'", filepath.Join(gitRoot, "jobs/aws"), jobType, expression)).CombinedOutput()
if err != nil {
return nil, err
}
jobNames := strings.Fields(string(jobNamesOutput))
allJobNames = append(allJobNames, jobNames...)
}
for _, jobName := range allJobNames {
jobNamesCountMap[jobName]++
}
return jobNamesCountMap, nil
}