From f5d9f48a3564153427c4a6a1d6791ee9fd87e53b Mon Sep 17 00:00:00 2001 From: Wolfgang Kozian Date: Sat, 31 Oct 2026 23:40:27 +0100 Subject: [PATCH] build: upgrade build and CI from Java 21 to 25 The runtime image already ran on Temurin 25 while builds and CI compiled and tested on 21, so the shipped JVM was not the one under test. Align them on the Java 25 LTS. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 6 +++--- .github/workflows/codeql.yml | 2 +- .github/workflows/docker-publish.yml | 4 ++-- backend/Dockerfile | 2 +- backend/build.gradle.kts | 4 ++-- mkdocs/development.md | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 42116f74..a59c37b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v5 with: - java-version: '21' + java-version: '25' distribution: 'temurin' cache: 'gradle' @@ -91,7 +91,7 @@ jobs: - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v5 with: - java-version: '21' + java-version: '25' distribution: 'temurin' cache: 'gradle' @@ -278,7 +278,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v5 with: - java-version: '21' + java-version: '25' distribution: 'temurin' - name: Submit Gradle dependency graph uses: gradle/actions/dependency-submission@8da46b539cd8fe6ab27ca75128919a18d757604c # v6.4.1 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c9233995..19b4b77d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -30,7 +30,7 @@ jobs: - uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v5 if: matrix.language == 'java-kotlin' with: - java-version: '21' + java-version: '25' distribution: 'temurin' - uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1 with: diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 4e0f8e4d..119abeb8 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -28,11 +28,11 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - name: Set up JDK 21 + - name: Set up JDK 25 if: matrix.gradle_build uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v5 with: - java-version: '21' + java-version: '25' distribution: 'temurin' cache: 'gradle' diff --git a/backend/Dockerfile b/backend/Dockerfile index c8be6472..3843e04c 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,4 +1,4 @@ -# eclipse-temurin:21-jre-alpine +# eclipse-temurin:25-jre-alpine FROM eclipse-temurin:25-jre-alpine@sha256:3c0a9084927a221ccd1d007fcaf614465672c0af37aaa834c5184483afe56d61 # brotli-libs 1.2.0-r1 -> 1.2.1-r0 (CVE-2026-111497) RUN apk upgrade --no-cache p11-kit p11-kit-trust libexpat openssl libssl3 brotli-libs diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 9c0795e6..0e5ad39d 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -24,7 +24,7 @@ plugins { group = "com.taskowolf" version = "0.0.1-SNAPSHOT" -java.sourceCompatibility = JavaVersion.VERSION_21 +java.sourceCompatibility = JavaVersion.VERSION_25 repositories { mavenCentral() @@ -83,7 +83,7 @@ dependencies { tasks.withType { compilerOptions { freeCompilerArgs.add("-Xjsr305=strict") - jvmTarget.set(JvmTarget.JVM_21) + jvmTarget.set(JvmTarget.JVM_25) } } diff --git a/mkdocs/development.md b/mkdocs/development.md index 3fb95ac7..780ca190 100644 --- a/mkdocs/development.md +++ b/mkdocs/development.md @@ -2,7 +2,7 @@ ## Prerequisites -- JDK 21 (Temurin recommended) +- JDK 25 (Temurin recommended) - Node.js 22.22+ (required by react-router v8 at build time) - Docker (for Testcontainers)