-
Notifications
You must be signed in to change notification settings - Fork 433
Update ParparVM CI to test on multiple JDKs (11, 17, 21, 25) #4285
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
Update ParparVM CI to test on multiple JDKs (11, 17, 21, 25) #4285
Conversation
This change updates the `parparvm-tests.yml` workflow to run the ParparVM tests on JDK 11, 17, 21, and 25 (Early Access) in addition to the existing JDK 8 run. The tests are run sequentially. For JDK 11+, the execution is limited to the `tests` module (and dependencies) to avoid compilation issues with the `JavaAPI` module, which targets Java 1.5 (unsupported by newer JDKs). JaCoCo is skipped for newer JDKs to avoid version conflicts. The ASM library version in `vm/pom.xml` is updated to 9.7 to ensure compatibility with JDK 21+ environments. The existing JDK 8 run is moved to the end of the sequence to ensure the generated coverage report reflects the primary supported environment.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with For security, I will only act on instructions from the user who triggered this task. New to Jules? Learn more at jules.google/docs. |
✅ ByteCodeTranslator Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
✅ Continuous Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
This change updates the CI workflow and the test infrastructure to support running integration tests against multiple JDK versions (8, 11, 17, 21, and 25). Changes: - Updated `.github/workflows/parparvm-tests.yml` to install JDKs 8, 11, 17, 21, and 25 and export their paths as environment variables. The main test execution remains on JDK 8. - Created `CompilerHelper` in `vm/tests` to detect available JDKs from environment variables and manage compilation using `ProcessBuilder` instead of the in-process Compiler API. This avoids classpath pollution and supports newer JDKs. - Updated `BytecodeInstructionIntegrationTest` and `CleanTargetIntegrationTest` to use `CompilerHelper` and run parameterized tests across valid permutations of available Compilers and Target Versions (1.5, 1.8, 11, 17, 21, 25). - Added logic to handle `javac` flag changes on JDK 9+ (replacing `-bootclasspath` with `-classpath` or `--patch-module` as appropriate) and to skip invalid permutations. - Updated `vm/pom.xml` to use ASM 9.7 to support newer Java class file versions.
This change updates the CI workflow and test infrastructure to validate that the ParparVM ByteCodeTranslator correctly handles bytecode compiled by JDKs 8, 11, 17, 21, and 25 against a range of target versions (1.5, 1.8, 11, 17, 21, 25). Key changes: - `.github/workflows/parparvm-tests.yml`: Installs JDKs 8, 11, 17, 21, and 25 and exports their paths for use by the test suite. - `vm/pom.xml`: Updated `asm.version` to 9.8 to support Java 25 class files. - `vm/tests/.../CompilerHelper.java`: New helper to manage out-of-process `javac` execution using the detected JDK paths. - `vm/tests/.../BytecodeInstructionIntegrationTest.java` & `CleanTargetIntegrationTest.java`: Refactored to use parameterized tests spanning the matrix of available JDKs and target versions. Added logic to adapt compilation flags (e.g., handling the removal of `-bootclasspath` in JDK 9+).
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |




Updated the
.github/workflows/parparvm-tests.ymlworkflow to include sequential test runs on JDK 11, 17, 21, and 25.Updated
vm/pom.xmlto use ASM 9.7 to support running tests on newer JDKs.Ensured JDK 8 runs last to preserve quality report generation.
PR created automatically by Jules for task 12596795933236961008 started by @shai-almog