Commit 7fffa41
authored
Update ParparVM CI to test on multiple JDKs (11, 17, 21, 25) (#4285)
* Update ParparVM CI to test on JDK 11, 17, 21, and 25
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.
* Update ParparVM tests to run against multiple JDKs and targets
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.
* Update ParparVM CI to test cross-compilation on JDKs 8-25
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+).
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>1 parent e621e15 commit 7fffa41
File tree
5 files changed
+327
-124
lines changed- .github/workflows
- vm
- tests/src/test/java/com/codename1/tools/translator
5 files changed
+327
-124
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
25 | 31 | | |
26 | 32 | | |
27 | 33 | | |
28 | 34 | | |
29 | 35 | | |
30 | | - | |
| 36 | + | |
| 37 | + | |
31 | 38 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
36 | 78 | | |
37 | 79 | | |
38 | 80 | | |
39 | | - | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
40 | 88 | | |
41 | 89 | | |
42 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
Lines changed: 91 additions & 78 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
44 | 55 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 56 | + | |
| 57 | + | |
50 | 58 | | |
51 | 59 | | |
52 | 60 | | |
| |||
61 | 69 | | |
62 | 70 | | |
63 | 71 | | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
| 72 | + | |
68 | 73 | | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
75 | 103 | | |
76 | 104 | | |
77 | 105 | | |
78 | 106 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| 107 | + | |
| 108 | + | |
86 | 109 | | |
87 | 110 | | |
88 | 111 | | |
| |||
190 | 213 | | |
191 | 214 | | |
192 | 215 | | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
| 216 | + | |
| 217 | + | |
198 | 218 | | |
199 | 219 | | |
200 | 220 | | |
| |||
209 | 229 | | |
210 | 230 | | |
211 | 231 | | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | 232 | | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
222 | 257 | | |
223 | 258 | | |
224 | 259 | | |
225 | 260 | | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
| 261 | + | |
| 262 | + | |
233 | 263 | | |
234 | 264 | | |
235 | 265 | | |
| |||
985 | 1015 | | |
986 | 1016 | | |
987 | 1017 | | |
988 | | - | |
989 | | - | |
990 | | - | |
991 | | - | |
992 | | - | |
| 1018 | + | |
| 1019 | + | |
993 | 1020 | | |
994 | 1021 | | |
995 | 1022 | | |
996 | 1023 | | |
997 | 1024 | | |
998 | 1025 | | |
999 | | - | |
| 1026 | + | |
1000 | 1027 | | |
1001 | 1028 | | |
1002 | 1029 | | |
| |||
1076 | 1103 | | |
1077 | 1104 | | |
1078 | 1105 | | |
1079 | | - | |
1080 | | - | |
1081 | | - | |
1082 | | - | |
1083 | | - | |
| 1106 | + | |
| 1107 | + | |
1084 | 1108 | | |
1085 | 1109 | | |
1086 | 1110 | | |
1087 | 1111 | | |
1088 | 1112 | | |
1089 | 1113 | | |
1090 | | - | |
| 1114 | + | |
1091 | 1115 | | |
1092 | 1116 | | |
1093 | 1117 | | |
| |||
1139 | 1163 | | |
1140 | 1164 | | |
1141 | 1165 | | |
1142 | | - | |
| 1166 | + | |
1143 | 1167 | | |
1144 | 1168 | | |
1145 | 1169 | | |
| |||
1152 | 1176 | | |
1153 | 1177 | | |
1154 | 1178 | | |
1155 | | - | |
1156 | | - | |
1157 | | - | |
1158 | | - | |
1159 | | - | |
1160 | | - | |
1161 | | - | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
1162 | 1190 | | |
1163 | 1191 | | |
1164 | 1192 | | |
| |||
1262 | 1290 | | |
1263 | 1291 | | |
1264 | 1292 | | |
1265 | | - | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
1271 | | - | |
1272 | | - | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
1276 | | - | |
1277 | | - | |
1278 | | - | |
1279 | | - | |
1280 | 1293 | | |
0 commit comments