in perfdash/config.go [678:718]
func parsePeriodicConfig(periodic periodic) (Tests, error) {
var thisPeriodicConfig Tests
thisPeriodicConfig.ArtifactsDir = "artifacts"
for _, tag := range periodic.Tags {
if strings.HasPrefix(tag, "perfDashPrefix:") {
split := strings.SplitN(tag, ":", 2)
thisPeriodicConfig.Prefix = strings.TrimSpace(split[1])
continue
}
if strings.HasPrefix(tag, "perfDashJobType:") {
split := strings.SplitN(tag, ":", 2)
jobType := strings.TrimSpace(split[1])
var exists bool
if thisPeriodicConfig.Descriptions, exists = jobTypeToDescriptions[jobType]; !exists {
return Tests{}, fmt.Errorf("unknown job type - %s", jobType)
}
continue
}
if strings.HasPrefix(tag, "perfDashBuildsCount:") {
split := strings.SplitN(tag, ":", 2)
i, err := strconv.Atoi(strings.TrimSpace(split[1]))
if err != nil {
return Tests{}, fmt.Errorf("unparsable builds count - %v", split[1])
}
if i < 1 {
return Tests{}, fmt.Errorf("non-positive builds count - %v", i)
}
thisPeriodicConfig.BuildsCount = i
continue
}
if strings.HasPrefix(tag, "perfDashArtifactsDir:") {
split := strings.SplitN(tag, ":", 2)
thisPeriodicConfig.ArtifactsDir = strings.TrimSpace(split[1])
continue
}
if strings.HasPrefix(tag, "perfDash") {
return Tests{}, fmt.Errorf("unknown perfdash tag name: %q", tag)
}
}
return thisPeriodicConfig, nil
}