in templater/main.go [44:132]
func main() {
jobsFolderPath, err := getJobsFolderPath()
if err != nil {
fmt.Printf("Error getting jobs folder path: %v", err)
os.Exit(1)
}
for _, org := range orgsSupported {
if err = os.RemoveAll(filepath.Join(jobsFolderPath, org)); err != nil {
fmt.Printf("Error removing jobs folder path: %v", err)
os.Exit(1)
}
}
for _, jobType := range jobTypes {
jobList, err := jobs.GetJobList(jobType)
if err != nil {
fmt.Printf("Error getting job list: %v\n", err)
os.Exit(1)
}
template, err := useTemplate(jobType)
if err != nil {
fmt.Printf("Error getting job list: %v\n", err)
os.Exit(1)
}
for repoName, jobConfigs := range jobList {
for fileName, jobConfig := range jobConfigs {
envVars := jobConfig.EnvVars
if jobConfig.UseDockerBuildX {
envVars = append(envVars, &types.EnvVar{Name: "BUILDKITD_IMAGE", Value: fmt.Sprintf("%s:%s", buildkitImageRepo, buildkitImageTag)})
envVars = append(envVars, &types.EnvVar{Name: "USE_BUILDX", Value: "true"})
}
if jobConfig.ImageBuild {
if jobs.IsCuratedPackagesPresubmit(jobConfig.JobName) {
envVars = append(envVars, &types.EnvVar{Name: "ADDITIONAL_IMAGE_CACHE_REPOS", Value: "067575901363.dkr.ecr.us-west-2.amazonaws.com"})
} else {
envVars = append(envVars, &types.EnvVar{Name: "ADDITIONAL_IMAGE_CACHE_REPOS", Value: "857151390494.dkr.ecr.us-west-2.amazonaws.com"})
}
}
cluster, bucket, serviceAccountName := clusterDetails(jobType, jobConfig.Cluster, jobConfig.Bucket, jobConfig.ServiceAccountName)
data := map[string]interface{}{
"architecture": jobConfig.Architecture,
"repoName": repoName,
"prowjobName": jobConfig.JobName,
"runIfChanged": jobConfig.RunIfChanged,
"skipIfOnlyChanged": jobConfig.SkipIfOnlyChanged,
"branches": jobConfig.Branches,
"cronExpression": jobConfig.CronExpression,
"maxConcurrency": jobConfig.MaxConcurrency,
"timeout": jobConfig.Timeout,
"extraRefs": jobConfig.ExtraRefs,
"imageBuild": jobConfig.ImageBuild,
"useDockerBuildX": jobConfig.UseDockerBuildX,
"prCreation": jobConfig.PRCreation,
"runtimeImage": jobConfig.RuntimeImage,
"localRegistry": jobConfig.LocalRegistry,
"serviceAccountName": serviceAccountName,
"command": strings.Join(jobConfig.Commands, "\n&&\n"),
"builderBaseTag": builderBaseTag,
"buildkitImageRepo": buildkitImageRepo,
"buildkitImageTag": buildkitImageTag,
"resources": jobConfig.Resources,
"envVars": envVars,
"volumes": jobConfig.Volumes,
"volumeMounts": jobConfig.VolumeMounts,
"editWarning": editWarning,
"automountServiceAccountToken": jobConfig.AutomountServiceAccountToken,
"cluster": cluster,
"bucket": bucket,
"projectPath": jobConfig.ProjectPath,
"diskUsage": true,
"runAsUser": jobConfig.RunAsUser,
"runAsGroup": jobConfig.RunAsGroup,
}
err := GenerateProwjob(fileName, template, data)
if err != nil {
fmt.Printf("Error generating Prowjob %s: %v\n", fileName, err)
os.Exit(1)
}
}
}
}
}