Hello,
Is it possible to use the bleeding edge of Mandrel distribution
of GraalVM, its current master, HEAD, built with the latest
Temurin early access JDK build as a container image now.
This is intended for experimental and development purposes
only. Each automated dev release passed a rudimentary smoke test that
does not involve Quarkus.
There is no guarantee that there is any Quarkus version compatible
with this rolling dev image at a given time.
The goal is to enable Quarkus Native developers to test their
work with what would be the next Mandrel in the future without
having to build Mandrel locally or fishing for our CI artifacts
on Jenkins.
The cadence is a weekly push to Quay, provided the latest HEAD
is actually buildable with the latest Temurin early access JDK.
These image tags exist at the time of writing:
quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:dev quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:dev-2025-05-20 quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:jdk-25.0.0_20 quay.io/quarkus/ubi-quarkus-mandrel-builder-image:dev quay.io/quarkus/ubi-quarkus-mandrel-builder-image:dev-2025-05-20 quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-25.0.0_20dev - rolling tag
dev-<date> - timestamped
jdk-25.0.0_20 - feature.interim.update_build, e.g. current JDK 21 LTS is 21.0.7_6
Version strings:
$ podman run
quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:dev --version
native-image 25-beta 2025-09-16
OpenJDK Runtime Environment Mandrel-25.0.0-dev817b6075e28 (build 25-beta+20-ea)
OpenJDK 64-Bit Server VM Mandrel-25.0.0-dev817b6075e28 (build 25-beta+20-ea, mixed mode)
Apart from the used Temurin JDK version, i.e. "25-beta+20-ea", there is also
a git sha, e.g. "817b6075e28", pointing to our Mandrel repository [1].
This week's dev build is compatible with the released Quarkus to the extend of running
a simple hello world:
curl -O -J "
https://code.quarkus.io/d?e=rest&cn=code.quarkus.io"
unzip code-with-quarkus.zip
cd code-with-quarkus
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=
quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:dev ./target/code-with-quarkus-1.0.0-SNAPSHOT-runner
Depending on your platform, you might see something like:
[1/8] Initializing... (3.6s @ 0.22GB)
Java version: 25-beta+20-ea, vendor version: Mandrel-25.0.0-dev817b6075e28
Graal compiler: optimization level: 2, target machine: x86-64-v3
C compiler: gcc (redhat, x86_64, 11.5.0)
or
[1/8] Initializing... (4.3s @ 0.55GB)
Java version: 25-beta+20-ea, vendor version: Mandrel-25.0.0-dev817b6075e28
Graal compiler: optimization level: 2, target machine: armv8.1-a
C compiler: gcc (redhat, aarch64, 11.5.0)
so the Mandrel git sha is displayed in the log too.
Cheers
Karm
[1]
https://github.com/graalvm/mandrel/commit/817b6075e28