in k8s-bench/eval.go [95:135]
func loadTasks(config EvalConfig) (map[string]Task, error) {
tasks := make(map[string]Task)
entries, err := os.ReadDir(config.TasksDir)
if err != nil {
return nil, err
}
for _, entry := range entries {
if !entry.IsDir() {
continue
}
taskID := entry.Name()
if config.TaskPattern != "" && !strings.Contains(taskID, config.TaskPattern) {
continue
}
taskFile := filepath.Join(config.TasksDir, taskID, "task.yaml")
data, err := os.ReadFile(taskFile)
if err != nil {
return nil, fmt.Errorf("failed to read task file %s: %w", taskFile, err)
}
var task Task
if err := yaml.Unmarshal(data, &task); err != nil {
return nil, fmt.Errorf("failed to parse task file %s: %w", taskFile, err)
}
// Skip disabled tasks
if task.Disabled {
fmt.Printf("Skipping disabled task: %s\n", taskID)
continue
}
tasks[taskID] = task
}
return tasks, nil
}