func MakeTargetCheck()

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, ""
	})
}