SWE_Bench_Lite.kt (48 lines of code) (raw):

import dataset.swebench_lite.taskIds import jetbrains.buildServer.configs.kotlin.* import jetbrains.buildServer.configs.kotlin.buildSteps.python import java.io.File // Generate build configurations per task ID val tasks = taskIds.map { taskId -> createTaskEnvBuildType(taskId) }.toList() object SWE_Bench_Lite : Project({ name = "SWE-Bench Lite" buildType(SWE_Bench_Lite_Dataset) subProject(TaskEnvironments) }) object SWE_Bench_Lite_Dataset: BuildType ({ id("SWE_Bench_Lite_Dataset") name = "SWE Bench Lite Dataset" description = "Download and cache SWE Bench Lite dataset" steps { python { name = "Load Dataset" dockerImage = "python:3.11" command = script { content = File("scripts/download_dataset.py").readText() } environment = venv { requirementsFile = "" pipArgs = "swebench datasets huggingface_hub" } } } artifactRules = """ dataset_cache/** => dataset_cache.zip .venv => venv.zip """.trimIndent() }) object TaskEnvironments : Project({ name = "Task Environments" tasks.forEach { buildType(it) } buildType { id("Tasks_RebuildAll") name = "Rebuild all" type = BuildTypeSettings.Type.COMPOSITE dependencies { tasks.forEach { task -> snapshot(task) { reuseBuilds = ReuseBuilds.NO } } } // triggers { // URL build trigger on the dataset // } } })