Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure JDK 23 early access CI build #32090

Closed
sbrannen opened this issue Jan 23, 2024 · 5 comments
Closed

Configure JDK 23 early access CI build #32090

sbrannen opened this issue Jan 23, 2024 · 5 comments
Assignees
Labels
type: task A general task
Milestone

Comments

@sbrannen
Copy link
Member

Overview

Java 23 early access builds are already available.

Our CI currently maintains JDK 21 and JDK 22 compatibility builds. We should do the same for JDK 23 as soon as the test suite is usable with early access versions.

Related Issues

@sbrannen sbrannen added the type: task A general task label Jan 23, 2024
@sbrannen sbrannen added this to the 6.1.x milestone Jan 23, 2024
@sbrannen
Copy link
Member Author

An initial attempt via ./gradlew test -PtestToolchain=23 reveals issues with Mockito (Byte Buddy).

Caused by: java.lang.IllegalArgumentException: Java 23 (67) is not supported by the current version of Byte Buddy which officially supports Java 22 (66) - update Byte Buddy or set net.bytebuddy.experimental as a VM property

bclozel added a commit that referenced this issue Feb 21, 2024
@snicoll
Copy link
Member

snicoll commented Apr 2, 2024

Gradle does not yet support Java 23, see https://docs.gradle.org/current/userguide/compatibility.html#java

@snicoll snicoll added the status: blocked An issue that's blocked on an external project change label May 2, 2024
@snicoll
Copy link
Member

snicoll commented Jul 4, 2024

So it turns out that it works for our purpose with Gradle 8.7 already (ping @ljacomet). There are a number of failures that I am investigating.

First thing is that Awaitility does not work with EA builds, see awaitility/awaitility#279

@snicoll snicoll self-assigned this Jul 4, 2024
@snicoll snicoll removed the status: blocked An issue that's blocked on an external project change label Jul 4, 2024
@snicoll snicoll added the status: blocked An issue that's blocked on an external project change label Jul 4, 2024
@snicoll
Copy link
Member

snicoll commented Jul 4, 2024

This is blocked by #33144

Here's a build scan against 6.1.x with 23.ea.29: https://ge.spring.io/s/uyz33y2i7ezac/tests/overview?outcome=FAILED

@snicoll
Copy link
Member

snicoll commented Jul 4, 2024

Gradle does not yet support Java 23, see https://docs.gradle.org/current/userguide/compatibility.html#java

It turns out it doesn't affect us as much as I thought. We're using the toolchains to run the tests, which doesn't trigger any compilation and that work pretty much out of the box. As @ljacomet explained to me, the problem is incremental compilation and others advanced compiled scripts use cases. We don't use any of that.

@snicoll snicoll removed the status: blocked An issue that's blocked on an external project change label Jul 4, 2024
@snicoll snicoll modified the milestones: 6.1.x, 6.1.11 Jul 4, 2024
snicoll added a commit that referenced this issue Jul 5, 2024
This commit harmonizes our CI configuration with Spring Boot, in
particular the clever use of reusable custom actions that simplify
the workflow definition quite a bit.

One main difference compared to Spring Boot is that we can now
specify a different distribution for a Java version to test, in
preparation for the support of building against 23-ea

See gh-32090
@snicoll snicoll closed this as completed in 0544dfe Jul 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: task A general task
Projects
None yet
Development

No branches or pull requests

2 participants