ci: build the Java binding on JDK 25 LTS (22 is EOL) (#292)
Java 22 is a non-LTS that has reached end of life; bump the build JDK in ci.yml and release.yml to the 25 LTS. The pom pins `maven.compiler.release` to 22, so the emitted bytecode and the Java 22+ runtime floor (FFM API, final since 22) are unchanged. Not 21 — FFM was only preview there.
This commit is contained in:
@@ -975,18 +975,19 @@ jobs:
|
|||||||
|
|
||||||
# The binding links the C ABI hub at runtime through the Java FFM API; build
|
# The binding links the C ABI hub at runtime through the Java FFM API; build
|
||||||
# it first so WickraNative's development fallback finds
|
# it first so WickraNative's development fallback finds
|
||||||
# target/release/wickra.{so,dylib,dll}. JDK 22+ is required for the final FFM
|
# target/release/wickra.{so,dylib,dll}. The FFM API is final since JDK 22; we
|
||||||
# API, so it is installed explicitly (runners ship 17/21).
|
# build on the 25 LTS (22 is EOL; the pom pins bytecode to release 22 so the
|
||||||
|
# runtime floor stays Java 22). Installed explicitly (runners ship 17/21).
|
||||||
- name: Build the C ABI library
|
- name: Build the C ABI library
|
||||||
run: cargo build -p wickra-c --release
|
run: cargo build -p wickra-c --release
|
||||||
|
|
||||||
- name: Set up JDK 22
|
- name: Set up JDK 25
|
||||||
id: setup-java
|
id: setup-java
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: "22"
|
java-version: "25"
|
||||||
cache: maven
|
cache: maven
|
||||||
|
|
||||||
- name: Retry JDK setup (CDN flake)
|
- name: Retry JDK setup (CDN flake)
|
||||||
@@ -996,12 +997,12 @@ jobs:
|
|||||||
echo "::warning::setup-java failed (likely CDN flake), waiting 30s before retry..."
|
echo "::warning::setup-java failed (likely CDN flake), waiting 30s before retry..."
|
||||||
sleep 30
|
sleep 30
|
||||||
|
|
||||||
- name: Set up JDK 22 (retry)
|
- name: Set up JDK 25 (retry)
|
||||||
if: steps.setup-java.outcome == 'failure'
|
if: steps.setup-java.outcome == 'failure'
|
||||||
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: "22"
|
java-version: "25"
|
||||||
cache: maven
|
cache: maven
|
||||||
|
|
||||||
- name: Java info
|
- name: Java info
|
||||||
|
|||||||
@@ -757,11 +757,11 @@ jobs:
|
|||||||
|
|
||||||
# setup-java writes a settings.xml with the 'central' server credentials
|
# setup-java writes a settings.xml with the 'central' server credentials
|
||||||
# (mapped from the env vars below) and imports the GPG signing key.
|
# (mapped from the env vars below) and imports the GPG signing key.
|
||||||
- name: Set up JDK 22 + Maven Central credentials + GPG
|
- name: Set up JDK 25 + Maven Central credentials + GPG
|
||||||
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: "22"
|
java-version: "25"
|
||||||
server-id: central
|
server-id: central
|
||||||
server-username: CENTRAL_USERNAME
|
server-username: CENTRAL_USERNAME
|
||||||
server-password: CENTRAL_PASSWORD
|
server-password: CENTRAL_PASSWORD
|
||||||
|
|||||||
Reference in New Issue
Block a user