[K/N] Fix version parsing in perfomance-server

This commit is contained in:
Pavel Kunyavskiy
2022-06-03 11:01:06 +02:00
committed by Space
parent 574562d9f9
commit 707d2c42ad
@@ -195,12 +195,14 @@ internal fun <T> orderedValues(values: List<T>, buildElement: (T) -> CompositeBu
compareBy( compareBy(
{ if (buildElement(it).first != null) 1 else 0 }, // Old builds have no set build type. { if (buildElement(it).first != null) 1 else 0 }, // Old builds have no set build type.
{ buildElement(it).second.substringBefore(".").toInt() }, // Kotlin version { buildElement(it).second.substringBefore(".").toInt() }, // Kotlin version
{ buildElement(it).second.substringAfter(".").substringBefore("-").toDouble() }, { buildElement(it).second.substringAfter(".").substringBefore("-").substringBefore("(").toDouble() },
{ // Milestones and release candidates. { // Milestones and release candidates.
val buildNumber = buildElement(it).second val buildNumber = buildElement(it).second
if (skipMilestones && buildElement(it).first == null ) 0 if (skipMilestones && buildElement(it).first == null ) 0
else if (buildNumber.substringAfter("-").startsWith("M")) else if (buildNumber.substringAfter("-").startsWith("M"))
buildNumber.substringAfter("M").substringBefore("-").toInt() buildNumber.substringAfter("M").substringBefore("-").toInt()
else if (buildNumber.substringAfter("-").startsWith("Beta"))
buildNumber.substringAfter("Beta").substringBefore("-").toIntOrNull() ?: 1
else if (buildNumber.substringAfter("-").startsWith("RC")) else if (buildNumber.substringAfter("-").startsWith("RC"))
Int.MAX_VALUE / 2 Int.MAX_VALUE / 2
else else
@@ -460,13 +462,15 @@ fun router() {
.then { geoMeansValues -> .then { geoMeansValues ->
success(orderedValues(geoMeansValues, { it -> it.first }, branch == "master") success(orderedValues(geoMeansValues, { it -> it.first }, branch == "master")
.map { it.first.second to it.second }) .map { it.first.second to it.second })
}.catch { }.catch { errorResponse ->
println("Error during getting samples") println("Error during getting samples")
println(errorResponse)
reject() reject()
} }
} }
}.catch { }.catch { errorResponse ->
println("Error during getting builds information") println("Error during getting builds information")
println(errorResponse)
reject() reject()
} }
} }