in scripts/lint_prowjobs/main.go [162:193]
func MakeTargetCheck(jc *JobConstants) presubmitCheck {
return presubmitCheck(func(presubmitConfig config.Presubmit, fileContentsString string) (bool, int, string) {
if strings.Contains(presubmitConfig.JobBase.Name, "e2e") ||
strings.Contains(presubmitConfig.JobBase.Name, "lint") ||
strings.Contains(presubmitConfig.JobBase.Name, "generate-files") ||
strings.Contains(presubmitConfig.JobBase.Name, "bundle") ||
strings.Contains(presubmitConfig.JobBase.Name, "eks-a-release") ||
presubmitConfig.JobBase.Name == "eks-anywhere-attribution-files-presubmit" ||
presubmitConfig.JobBase.Name == "eks-anywhere-cluster-controller-tooling-presubmit" ||
presubmitConfig.JobBase.Name == "eks-anywhere-release-tooling-presubmit" ||
presubmitConfig.JobBase.Name == "eks-anywhere-release-tooling-test-presubmit" ||
presubmitConfig.JobBase.Name == "eks-anywhere-packages-presubmit" ||
presubmitConfig.JobBase.Name == "eks-anywhere-packages-generatebundle-presubmit" ||
presubmitConfig.JobBase.Name == "tinkerbell-chart-presubmit" ||
presubmitConfig.JobBase.Name == "tinkerbell-crds-presubmit" {
return true, 0, ""
}
jobMakeTargetMatches := regexp.MustCompile(`make (\w+[-\w]+?)(?: -C \S+)?`).FindAllStringSubmatch(strings.Join(presubmitConfig.JobBase.Spec.Containers[0].Command, " "), -1)
jobMakeTarget := ""
if len(jobMakeTargetMatches) > 0 {
jobTargetMatch := jobMakeTargetMatches[len(jobMakeTargetMatches)-1]
if len(jobTargetMatch) > 0 {
jobMakeTarget = jobTargetMatch[len(jobTargetMatch)-1]
}
}
makeCommandLineNo := findLineNumber(fileContentsString, "make")
if jobMakeTarget != jc.DefaultMakeTarget {
return false, makeCommandLineNo, fmt.Sprintf(`Invalid make target %q, please use the %q target`, jobMakeTarget, jc.DefaultMakeTarget)
}
return true, 0, ""
})
}