From 6fe6f89ba8cf2e16fdd252b171d25aae3d8e49ea Mon Sep 17 00:00:00 2001 From: Leandro Aguiar Date: Sat, 21 Feb 2026 23:18:22 +0200 Subject: [PATCH 1/3] CI reproducibility: explicitely setting up JDK 21 (for Kotlin) --- .github/workflows/ci.yml | 8 +++++++- README.md | 2 +- build.gradle.kts | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d961831..55adf2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,13 @@ jobs: - name: Checkout sources uses: actions/checkout@v6 - - name: Set up JDK + - name: Set up JDK 21 + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 21 + + - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: temurin diff --git a/README.md b/README.md index 751c49e..1f2ba60 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ tasks.withType().configureEach { violationRules { rules.forEach { rule -> rule.limits.forEach { limit -> - limit.minimum = "0.91".toBigDecimal() + limit.minimum = "0.83".toBigDecimal() } } } diff --git a/build.gradle.kts b/build.gradle.kts index 2981264..775fb1c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ plugins { } group = "io.github.leanish" -version = "0.3.1" +version = "0.3.2-SNAPSHOT" repositories { gradlePluginPortal() From 6873223127ff230586487211dfe29c203a1cd563 Mon Sep 17 00:00:00 2001 From: Leandro Aguiar Date: Mon, 23 Feb 2026 09:31:19 +0200 Subject: [PATCH 2/3] explaining the reasons for each JVM --- .github/workflows/ci.yml | 3 +++ build.gradle.kts | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55adf2a..228c6e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,12 +15,15 @@ jobs: - name: Checkout sources uses: actions/checkout@v6 + # Kotlin DSL compilation uses JDK 21 today (Gradle embeds Kotlin 2.2.x) - name: Set up JDK 21 uses: actions/setup-java@v5 with: distribution: temurin java-version: 21 + # Tests/Java toolchain tasks use JDK 25 + # JDK declaration order matters as the last one declared will be the default one (thus used to run Gradle itself) - name: Set up JDK 25 uses: actions/setup-java@v5 with: diff --git a/build.gradle.kts b/build.gradle.kts index 775fb1c..e070241 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,13 +19,14 @@ repositories { java { toolchain { - // Build/test the plugin on Java 25 to mirror the conventions' default toolchain. + // No Java sources today, but pinning Java toolchain tasks (especially tests) to 25 to mirror the conventions' default toolchain. languageVersion.set(JavaLanguageVersion.of(25)) } } kotlin { - // Gradle embeds Kotlin 2.2.x today; pinning it to JDK 21 until Gradle uses Kotlin 2.3+. + // Gradle embeds Kotlin 2.2.x today; kotlin-dsl compilation stays on JDK 21 until Gradle moves to Kotlin 2.3+. + // At that point we should align this to 25 and simplify CI back to a single JDK. jvmToolchain(21) } From 801b1efda511d8a1990eed0d0ac114ade4ea6d17 Mon Sep 17 00:00:00 2001 From: Leandro Aguiar Date: Mon, 23 Feb 2026 09:35:23 +0200 Subject: [PATCH 3/3] clearer step naming --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 228c6e2..eb58242 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@v6 # Kotlin DSL compilation uses JDK 21 today (Gradle embeds Kotlin 2.2.x) - - name: Set up JDK 21 + - name: Set up JDK 21 (Kotlin DSL toolchain) uses: actions/setup-java@v5 with: distribution: temurin @@ -24,7 +24,7 @@ jobs: # Tests/Java toolchain tasks use JDK 25 # JDK declaration order matters as the last one declared will be the default one (thus used to run Gradle itself) - - name: Set up JDK 25 + - name: Set up JDK 25 (Gradle runtime + Java toolchain/tests) uses: actions/setup-java@v5 with: distribution: temurin