From d16b169fb2f04212b2d5ad8c3a55f153890f8d00 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 18 Oct 2022 15:26:50 +0200 Subject: [PATCH] Update kvision build regression benchmarks Added as well benchmarks for configuration time only checks. --- .../files/kvision-kotlin-current.patch | 12 ++-- .../benchmarkScripts/kvision.benchmark.kts | 57 +++++++++++++++---- 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-current.patch b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-current.patch index d5c047b4dd7..1423eee7c32 100644 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-current.patch +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-current.patch @@ -12,10 +12,10 @@ index db904c8841..ef155edc8e 100644 } dependencies { -- implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10") +- implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:") implementation("de.marcphilipp.gradle:nexus-publish-plugin:0.4.0") - implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.7.0") { + implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.7.10") { exclude("org.jetbrains.kotlin","kotlin-stdlib-jdk8") diff --git a/buildSrc/src/main/kotlin/Shared.kt b/buildSrc/src/main/kotlin/Shared.kt index cb90de74ab..440e2ce91a 100644 @@ -38,13 +38,13 @@ index 5cb5298782..3fb47f8cdc 100644 +++ b/gradle.properties @@ -1,7 +1,7 @@ group=io.kvision - versionNumber=5.12.0 + versionNumber=5.16.1 --systemProp.kotlinVersion=1.7.10 +-systemProp.kotlinVersion=1.7.20 +systemProp.kotlinVersion= javaVersion=1.8 - coroutinesVersion=1.6.3 - serializationVersion=1.3.3 + coroutinesVersion=1.6.4 + serializationVersion=1.4.0 diff --git a/settings.gradle.kts b/settings.gradle.kts index f85a2f087e..a122b6fd5e 100644 --- a/settings.gradle.kts diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts index 0d444247c21..df530afbfec 100644 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts @@ -9,7 +9,7 @@ @file:BenchmarkProject( name = "kvision", gitUrl = "https://github.com/rjaros/kvision.git", - gitCommitSha = "675de063cf065416536711a701eaee40b18f3e05" + gitCommitSha = "3fe69bf6db9a3650b026630d857862f3cee6485b" ) import java.io.File @@ -23,15 +23,26 @@ val currentReleasePatch = { runAllBenchmarks( suite { - // Disabled due to the possible error "No space left on device" - // Kotlin/Js/Ir trashes /tmp directory with files that are not reused - // Check https://youtrack.jetbrains.com/issue/KT-52176/Kotlin-JS-Ir-compilation-creates-build-files-in-system-temp-dire -// scenario { -// title = "Build Js IR clean build" -// -// runTasks("jsIrJar") -// runCleanupTasks("clean") -// } + scenario { + title = "Build Js IR clean build" + + runTasks("jsIrJar") + runCleanupTasks("clean") + } + + scenario { + title = "Build Js IR with ABI change in ObservableList" + + runTasks("jsIrJar") + applyAbiChangeTo("kvision-modules/kvision-state/src/main/kotlin/io/kvision/state/ObservableList.kt") + } + + scenario { + title = "Build Js IR with non-ABI change in ObservableList" + + runTasks("jsIrJar") + applyNonAbiChangeTo("kvision-modules/kvision-state/src/main/kotlin/io/kvision/state/ObservableList.kt") + } scenario { title = "Build Js Legacy clean build" @@ -53,9 +64,31 @@ runAllBenchmarks( runTasks("jsLegacyJar") applyNonAbiChangeTo("kvision-modules/kvision-state/src/main/kotlin/io/kvision/state/ObservableList.kt") } + + scenario { + title = "Dry run configuration time" + useGradleArgs("-m") + + iterations = 20 + runTasks("jsIrJar") + } + + scenario { + title = "No-op configuration time" + + iterations = 20 + runTasks("help") + } + + scenario { + title = "UP-TO-DATE configuration time" + + iterations = 20 + runTasks("jsIrJar") + } }, mapOf( - "1.7.10" to null, - "1.7.20" to currentReleasePatch + "1.7.20" to null, + "1.8.0" to currentReleasePatch ) ) \ No newline at end of file