[llm-eval] LME-495 Accept failed eval reports

Merge-request: IJ-MR-169555
Merged-by: Nikolai Bogdanov <nikolai.bogdanov@jetbrains.com>

GitOrigin-RevId: 7980e606b1a3664c76b8a8e0a791aca4d15acaa8
This commit is contained in:
Nikolai Bogdanov
2025-07-21 10:02:35 +00:00
committed by intellij-monorepo-bot
parent 30a66f8e73
commit 0cc6334ad9
@@ -27,6 +27,7 @@ import com.intellij.ide.commandNameFromExtension
import com.intellij.openapi.application.ApplicationStarter
import com.intellij.openapi.application.ex.ApplicationEx.FORCE_EXIT
import com.intellij.openapi.application.ex.ApplicationManagerEx
import com.intellij.openapi.diagnostic.currentClassLogger
import java.nio.file.Path
import java.nio.file.Paths
import kotlin.io.path.exists
@@ -220,7 +221,7 @@ internal class CompletionEvaluationStarter : ApplicationStarter {
workspace.readAdditionalStats(LAYOUT_NAME)?.let {
outputWorkspace.saveAdditionalStats(LAYOUT_NAME, it)
}
val sessionFiles = workspace.sessionsStorage.getSessionFiles()
val sessionFiles = workspace.getSessionFilesSafe()
for (sessionFile in sessionFiles) {
outputWorkspace.sessionsStorage.saveSessions(workspace.sessionsStorage.getSessions(sessionFile.first))
}
@@ -234,6 +235,23 @@ internal class CompletionEvaluationStarter : ApplicationStarter {
process.start(outputWorkspace)
}
}
/**
* Let's not fail the aggregation of the evaluation report if some
* child builds failed (and so some files are missing).
*/
private fun EvaluationWorkspace.getSessionFilesSafe(): List<Pair<String, String>> =
try {
sessionsStorage.getSessionFiles()
}
catch (e: Throwable) {
logger.warn("Failed to get session files from workspace ${this.path()}. Probably some evaluation builds failed")
emptyList()
}
}
companion object {
val logger = currentClassLogger()
}
}