Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/imageio/Dockerfile.ubi10
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM registry.access.redhat.com/ubi10/ubi-minimal:10.0
FROM registry.access.redhat.com/ubi10/ubi-minimal:10.1
RUN microdnf install freetype fontconfig -y
WORKDIR /work/
RUN chmod "g+rwX" /work \
Expand Down
2 changes: 1 addition & 1 deletion apps/vthread_props/Dockerfile.ubi10
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM registry.access.redhat.com/ubi10/ubi-minimal:10.0
FROM registry.access.redhat.com/ubi10/ubi-minimal:10.1
WORKDIR /work/
RUN chmod "g+rwX" /work \
&& chown 1000:root /work
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
import static org.graalvm.tests.integration.utils.Commands.getBaseDir;
import static org.graalvm.tests.integration.utils.Commands.getRunCommand;
import static org.graalvm.tests.integration.utils.Commands.getSubstringFromSmallTextFile;
import static org.graalvm.tests.integration.utils.Commands.isBuilderImageIncompatible;
import static org.graalvm.tests.integration.utils.Commands.listStaticLibs;
import static org.graalvm.tests.integration.utils.Commands.processStopper;
import static org.graalvm.tests.integration.utils.Commands.removeContainer;
Expand Down Expand Up @@ -69,6 +68,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.Scanner;
import java.util.Set;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -131,7 +131,12 @@ public class AppReproducersTest {
This is caused by a purposefully vague error message in the JDK over here:
https://github.com/openjdk/jdk21u-dev/blob/jdk-21.0.6%2B7/src/java.desktop/share/classes/java/awt/Font.java#L1205
*/
public static final String[] RUNTIME_IMAGE_BASE = new String[] { "ubi8", "ubi9", "cnts10", "amzn2", "amzn2023", "ubnt2204", "ubnt2404" };
public static final String[] RUNTIME_IMAGE_BASE = new String[] { "ubi8", "ubi9", "ubi10", "cnts10", "amzn2", "amzn2023", "ubnt2204", "ubnt2404" };
public static final Map<String, Set<String>> BUILDER_RUNTIME_COMPATIBILITY = new TreeMap<>(){{
put("ubi8", Set.of("ubi8", "ubi9", "ubi10", "cnts10", "amzn2", "amzn2023", "ubnt2204", "ubnt2404"));
put("ubi9", Set.of("ubi9", "ubi10", "cnts10", "amzn2023", "ubnt2204", "ubnt2404"));
put("ubi10", Set.of("ubi10", "cnts10", "amzn2023", "ubnt2404"));
}};

@Test
@Tag("randomNumbers")
Expand Down Expand Up @@ -1364,4 +1369,31 @@ private static Map<String, String> getSwitches(Apps app) {
}
return switches;
}

/**
* Some runtime images aren't capable of running executables built
* with certain builder images. The reason is typically the GLIBC
* version being too old.
*
* @param base
* @return
*/
public static boolean isBuilderImageIncompatible(String base) {
// it's UBI 8
if (BUILDER_IMAGE.contains("/ubi-")) {
// Dev image, latest JDK, requires gcc toolchain-10 that
// creates a dependency on GLIBC_2.28. O.K. for UBI8, too new for Amzn2
if (BUILDER_IMAGE.contains("dev") && "amzn2".equals(base)) {
return true;
}
return !BUILDER_RUNTIME_COMPATIBILITY.get("ubi8").contains(base);
}
if (BUILDER_IMAGE.contains("/ubi9-")) {
return !BUILDER_RUNTIME_COMPATIBILITY.get("ubi9").contains(base);
}
if (BUILDER_IMAGE.contains("/ubi10-")) {
return !BUILDER_RUNTIME_COMPATIBILITY.get("ubi10").contains(base);
}
throw new IllegalArgumentException("Builder image not supported yet: " + BUILDER_IMAGE + ". Please add it to BUILDER_RUNTIME_COMPATIBILITY.");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,7 @@ private Map<String, Integer> runBenchmarkForApp(Endpoint endpoint, int trials, A
processStopper(process, true, true);
if (inContainer) {
stopAllRunningContainers();
removeContainers(ContainerNames.JFR_PERFORMANCE_BUILDER_IMAGE.name, ContainerNames.JFR_PLAINTEXT_BUILDER_IMAGE.name);
}
assertTrue(waitForTcpClosed("localhost", 8080, 10),
"Quarkus app likely hanging on port 8080.");
Expand Down Expand Up @@ -495,7 +496,7 @@ private Map<String, Integer> runBenchmarkForApp(Endpoint endpoint, int trials, A
if (process != null && process.isAlive()) {
processStopper(process, true);
}
removeContainers(ContainerNames.HYPERFOIL.name);
removeContainers(ContainerNames.HYPERFOIL.name, ContainerNames.JFR_PERFORMANCE_BUILDER_IMAGE.name, ContainerNames.JFR_PLAINTEXT_BUILDER_IMAGE.name);
if (hyperfoilProcess != null && hyperfoilProcess.isAlive()) {
processStopper(hyperfoilProcess, true);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ public class Commands {
// as that's used in CI which uses -Dquarkus.native.builder-image=<value> alternative. See
// getProperty() function for details.
public static final String BUILDER_IMAGE = getProperty("QUARKUS_NATIVE_BUILDER-IMAGE", "quay.io/quarkus/ubi-quarkus-mandrel-builder-image:22.3-java17");

// Debug sessions, GDB commands related timeouts
// How long to wait for a gdb command output to match a certain regexp:
public static final long CMD_DEFAULT_TIMEOUT_MS = Long.parseLong(getProperty("CMD_DEFAULT_TIMEOUT_MS", "10000"));
Expand Down Expand Up @@ -1328,16 +1327,4 @@ public static boolean compareArrays(int[] a, int[] b, int[] threshold) {
}
return true;
}

/**
* Some runtime images aren't capable of running executables built
* with certain builder images. The reason is typically the GLIBC
* version being too old.
*
* @param base
* @return
*/
public static boolean isBuilderImageIncompatible(String base) {
return BUILDER_IMAGE.contains("ubi9") && ("ubi8".equals(base) || "amzn2".equals(base));
}
}
Loading