CI: replace JDK 15 with 16
See original GitHub issueDescription
JDK 16 reached GA a few weeks ago and the natural cycle would be to replace the jobs in Quarkus CI that are currently running on JDK 15 with JDK 16. Our EA test job/workflow [1] is still running on 16 (and not 17-ea) because there are still some problems, especially with Kotlin and Gradle. The idea is to get the EA job to the point where we can make the switch (both for CI JDK 15 -> 16 and EA job 16 -> 17-ea).
[1] https://github.com/quarkusio/quarkus/actions/workflows/jdk-early-access-build.yml (see also #15867)
FTR:
- https://quarkusio.zulipchat.com/#narrow/stream/187038-dev/topic/Gradle.207
- https://quarkusio.zulipchat.com/#narrow/stream/187038-dev/topic/Quarkus.20tested.20on.20Java.2016
- https://groups.google.com/g/quarkus-dev/c/AlyXp2A2W5Y
Currently known TODOs (potentially incomplete)
- fix or work around KT-43704
Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle)
- update to Kotlin 1.5 (see also: #16806)
- or (try to) skip all Kotlin bits in the entire repo for now
- or set
--add-opens java.base/java.util=ALL-UNNAMED
viaMAVEN_OPTS
- stop
BootstrapMavenOptions
from passing--add-opens
etc. to MavenCliManager
(which chokes on that), see also #16862 note: complete HACK currently (in my fork), must be done properly
- stop
- work around Gradle 6 not being compatible with JDK16+
- don’t execute
devtools/gradle
andits/gradle
- exclude anything related to Gradle from
devtools/cli
tests
- don’t execute
- mitigate XStream problem in its/main: https://github.com/quarkusio/quarkus/issues/16195#issuecomment-830872415
- mitigate IAE in elytron-security-ldap: https://github.com/quarkusio/quarkus/issues/16195#issuecomment-830874787
- add workaround for Surefire
java.io.tmpdir
problem: https://github.com/quarkusio/quarkus/issues/16195#issuecomment-830860621 - fix inoker failures in its/container-image
- check/fix remaining “Integration Tests - Devtools” failures
- check/fix “Integration Tests - Kotlin” failures
- check/fix TCKS failures
- …?
For now checked TODOs can be found in my fork: https://github.com/quarkusio/quarkus/compare/main...famod:jdk16-fixes
Issue Analytics
- State:
- Created 2 years ago
- Reactions:5
- Comments:32 (25 by maintainers)
Top Results From Across the Web
How to Change Java Versions in Windows (Updated for JDK 18)
In this article, I will show you how to install multiple Java versions on Windows and how to change the Java version on...
Read more >It's time to move your applications to Java 17. Here's why ...
This article explains why you should upgrade your application and helps you with the actual upgrade to Java 17.
Read more >JDK 16: The new features in Java 16 | InfoWorld
Highlights of the latest upgrade of standard Java include primitive classes, sealed classes, records, a vector API, and ports for Windows on ...
Read more >How to Install Multiple Versions of Java on the Same Machine
But in my current project, we are still using Java 8, and now, I want to upgrade and learn Java 11, but unfortunately,...
Read more >Deprecations by version - GitLab Docs
Java 17 is the most up-to-date Long Term Support (LTS) version. Dependency scanning continues to support the same range of versions (8, 11,...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Should be fixed in next SmallRye Fault Tolerance release that will contain https://github.com/smallrye/smallrye-fault-tolerance/pull/409
@famod I have removed
user.dir
. Let’s see the build result. https://github.com/apache/maven-surefire/tree/userDir https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven-surefire/job/userDir/ The subprocess CWD and the property should have the same value. So, removing the setter for the property should not change anything but it’s safe for new versions of Java.