Conversation
|
javac of EA JDK 25 (tested on b19-23) fails compiling public class Mavenproject1 {
public static boolean testOp36c() {
return (Runtime.getRuntime() instanceof java.lang.Iterable);
}
}note: it passes with |
|
planning to merge this soon |
| DEFAULT_JAVA_DISTRIBUTION: 'zulu' | ||
| # CI requirements: | ||
| # - timely GA releases (no delays if possible) | ||
| # - EA builds must be available for the upcomming release (note: some vendors skip builds) | ||
| # - linux, win, mac (arm) | ||
| # - reliable / no extra sauce | ||
| DEFAULT_JAVA_DISTRIBUTION: 'temurin' | ||
| # DEFAULT_JAVA_DISTRIBUTION: 'sapmachine' | ||
| # DEFAULT_JAVA_DISTRIBUTION: 'zulu' |
There was a problem hiding this comment.
I checked again (before merge) just to be sure but zulu is still at build 19 of JDK 25 (https://cdn.azul.com/zulu/bin/). We need at least b22 (current is 23). The other vendors filtered out after running the brute force availability check again. So we could switch to temurin or sapmachine - nice to have multiple options IMO.
There was a problem hiding this comment.
Maybe need defaults for GA and EA separately? Interesting Temurin seems to be more timely with EA but usually slightly behind on GA?
Nitpick - upcoming, one m
There was a problem hiding this comment.
Interesting Temurin seems to be more timely with EA but usually slightly behind on GA?
yep. But this is not necessarily a problem for us since we don't require both conditions at once. We could switch to zulu before release since we don't need EA during releases (edit: in fact, nothing should use EA during the release phase since EA builds may disappear after GA, this would cause problems when things are branched and need rebuilds later). I haven't watched sapmachine so far so I don't know how it behaves there.
There was a problem hiding this comment.
IMO: I rather switch everything periodically instead of using a different vendor for EA/GA
(fixed typo, thanks!)
- bump upper bound from JDK 24 to 25 ea - switch to temurin due to EA build availability (fails below b22) - '--enable-preview' can be removed from a build script since "compact source files" are going final (JEP 512) - java hints job stays on JDK 24 until new nb-javac is integrated - EvaluatorTest: updated test data since java.lang.Runtime is now final
neilcsmith-net
left a comment
There was a problem hiding this comment.
Looks good to me.
(edit: in fact, nothing should use EA during the release phase since EA builds may disappear after GA, this would cause problems when things are branched and need rebuilds later).
I'm less sure about this point. If we are using upcoming EA nb-javac to support, as well as possible, the next JDK in odd numbered releases, then we should consider how we test that during release phases. NetBeans 27 will, if we keep existing schedule, release a few weeks before JDK 25 is GA. I think the problems are handleable.
|
what I meant by that is that we can't have a workflow in the final release branch which uses EA builds. If releases overlap we can switch to GA during our release phase, but if a release branch would stick to EA, there is the risk that it won't build anymore at some point when the EA builds begin to disappear. |
|
I guess we could also try to make the workflow smarter and teach it to try GA of the same version as fallback if EA dl fails. |
|
Release branches can be updated if there's a real need to get workflows working again - eg. for an update release. A workflow broken on the actual release tag doesn't seem that problematic to me. We could also switch off EA testing on the release branch - delivery and master are where it would be most useful anyway. |
--enable-previewcan be removed from a build script since "compact source files" are going final (JEP 512)EvaluatorTest: updated test data sincejava.lang.Runtimeis now final (see below)a test file seems to hit a JDK 25
compiler regressionAPI change,Runtimeis now final (openjdk/jdk#22389):