From a11ffa47902ff2bd25ecc568c4345fee8df9f451 Mon Sep 17 00:00:00 2001 From: Goooler Date: Tue, 24 Jan 2023 05:01:48 +0800 Subject: [PATCH] Run tests parallelly on CI Revert some changes in 2ba00cd789a73fdae495556ccf51c7186a3b9812 to save more time on CI. --- .github/workflows/gradle-pr-build.yml | 3 +- .../src/main/kotlin/ToolchainForTests.kt | 39 ------------------- .../kotlin/ktlint-kotlin-common.gradle.kts | 2 - 3 files changed, 2 insertions(+), 42 deletions(-) delete mode 100644 build-logic/src/main/kotlin/ToolchainForTests.kt diff --git a/.github/workflows/gradle-pr-build.yml b/.github/workflows/gradle-pr-build.yml index b2e27baf9e..cc5f6fefff 100644 --- a/.github/workflows/gradle-pr-build.yml +++ b/.github/workflows/gradle-pr-build.yml @@ -8,13 +8,14 @@ jobs: strategy: matrix: os: [ ubuntu-latest, windows-latest ] + jdk: [ 8, 11, 17, 19 ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 19 + java-version: ${{ matrix.jdk }} - uses: gradle/gradle-build-action@v2 - name: Build with release Kotlin version run: ./gradlew clean build ktlint --no-daemon diff --git a/build-logic/src/main/kotlin/ToolchainForTests.kt b/build-logic/src/main/kotlin/ToolchainForTests.kt deleted file mode 100644 index 336e4d99d5..0000000000 --- a/build-logic/src/main/kotlin/ToolchainForTests.kt +++ /dev/null @@ -1,39 +0,0 @@ -import org.gradle.api.Project -import org.gradle.api.tasks.testing.Test -import org.gradle.jvm.toolchain.JavaLanguageVersion -import org.gradle.jvm.toolchain.JavaToolchainService -import org.gradle.kotlin.dsl.register - -val Project.javaToolchains: JavaToolchainService - get() = extensions.getByType(JavaToolchainService::class.java) - -fun Project.addAdditionalJdkVersionTests() { - // Tests should be run on all supported LTS versions of the JDK. For example, see https://endoflife.date/java - listOf(8, 11, 17, 19).forEach(::addJdkVersionTests) -} - -private fun Project.addJdkVersionTests(jdkVersion: Int) { - val jdkVersionTests = tasks.register("testOnJdk$jdkVersion") { - javaLauncher.set( - javaToolchains.launcherFor { - languageVersion.set(JavaLanguageVersion.of(jdkVersion)) - }, - ) - val jvmArgs = mutableListOf() - if (jdkVersion >= 16) { - // https://docs.gradle.org/7.5/userguide/upgrading_version_7.html#removes_implicit_add_opens_for_test_workers - jvmArgs += listOf( - "--add-opens=java.base/java.lang=ALL-UNNAMED", - "--add-opens=java.base/java.util=ALL-UNNAMED", - ) - } - if (jdkVersion >= 18) { - // https://openjdk.org/jeps/411 - jvmArgs += "-Djava.security.manager=allow" - } - setJvmArgs(jvmArgs) - } - tasks.named("check") { - dependsOn(jdkVersionTests) - } -} diff --git a/build-logic/src/main/kotlin/ktlint-kotlin-common.gradle.kts b/build-logic/src/main/kotlin/ktlint-kotlin-common.gradle.kts index 17066c00ee..4261fa4453 100644 --- a/build-logic/src/main/kotlin/ktlint-kotlin-common.gradle.kts +++ b/build-logic/src/main/kotlin/ktlint-kotlin-common.gradle.kts @@ -10,5 +10,3 @@ kotlin { // All modules, the CLI included, must have an explicit API explicitApi() } - -addAdditionalJdkVersionTests()