Conversation
the tests can run on regular JDKs, GraalVM's polyglot features became dependencies in pasts. the modules are already covered by the java, debugger, ide, profiler and platform jobs (only the nashorn module needed to be moved).
jtulach
left a comment
There was a problem hiding this comment.
- NetBeans no longer need GraalVM to test behavior of its Graal.js usage
| - name: Extract | ||
| run: tar --zstd -xf build.tar.zst | ||
|
|
||
| - name: Setup GraalVM ${{ matrix.graal }} |
There was a problem hiding this comment.
Yeah, since GraalVM for JDK 21+ there is no difference between OpenJDK and GraalVM with respect to Graal.js except speed (peak performance of JavaScript). NetBeans don't need peak performance of JavaScript for the usecases tested here-in...
| GRAALVM=$(realpath graalvm-community-openjdk-*) | ||
| echo "JAVA_HOME=$GRAALVM" >> $GITHUB_ENV | ||
|
|
||
| - name: platform/core.network |
There was a problem hiding this comment.
This module is using Graal.js to process proxy configuration files. They are executed once and running at any JDK21+ is going to be fast enough.
| run: ant $OPTS -f platform/core.network test | ||
|
|
||
| - name: platform/api.scripting | ||
| run: ant $OPTS -f platform/api.scripting test |
There was a problem hiding this comment.
- Graal.js is no longer part of GraalVM
- it is a normal Maven library
- hence testing this module on any OpenJDK21+ is enough
| run: ant $OPTS -f webcommon/libs.graaljs test | ||
|
|
||
| - name: profiler/profiler.oql | ||
| run: ant $OPTS -f profiler/profiler.oql test |
There was a problem hiding this comment.
- profilier is using some JavaScript integration
- as Graal.js is no longer distributed as part of GraalVM
- testing on any OpenJDK21+ is enough
| run: ant $OPTS -f java/nashorn.execution test | ||
|
|
||
| - name: java/debugger.jpda.truffle | ||
| run: .github/retry.sh ant $OPTS -f java/debugger.jpda.truffle test |
There was a problem hiding this comment.
- thanks to recent work of @lahodaj in [GITHUB-6925] Fixing debugger.jpda.truffle tests. #9302
- these tests can run on OpenJDK and I am very thankful for that
|
thanks for the review, will merge to reduce the PR count a little. another thing we could try as followup is to update the graalvm dependencies which had the same version for 2 years: netbeans/ide/libs.graalsdk.system/external/binaries-list Lines 17 to 23 in 8cc2feb netbeans/ide/libs.graalsdk/external/binaries-list Lines 17 to 23 in 8cc2feb netbeans/ide/libs.truffleapi/external/binaries-list Lines 17 to 19 in 8cc2feb netbeans/webcommon/libs.graaljs/external/binaries-list Lines 17 to 21 in 8cc2feb I checked and 25.x would still use JDK 17 as baseline - so we would be good there. |
Some upgrade is certainly possible. But which version still supports OpenJDK21 and which runs only on OpenJDK25?
I saw some matrix of versions at GraalVM Summit in autumn, but I cannot find it. I guess it is best to ask the expert: Andreas @woess, what would be your recommended version to upgrade to if NetBeans want to run Graal.js on OpenJDK21? Thanks for your advice. |
|
here is a wip branch https://github.com/mbien/netbeans/tree/graal2502, unfortunately the tests fail. I haven't looked at the migration guide since I ran out of time. Appears to be CL related (e.g GraalJSTest fails when ran via the project, while GraalJSTest2 works when invoked directly via IDE). |

as discussed in #9302, the GraalVM job became somewhat redundant