graalvm / mandrel

Mandrel is a downstream distribution of the GraalVM community edition. Mandrel's main goal is to provide a native-image release specifically to support Quarkus.
Other
394 stars 15 forks source link

arm64 builds of latest docker image versions are missing #459

Closed tobiasoort closed 1 year ago

tobiasoort commented 1 year ago

Description

Looking at https://quay.io/repository/quarkus/ubi-quarkus-mandrel?tab=tags it seems that 22.1.x is the last version that shipped ARM64 binary builds in docker format. The latest (22.3.x) version does however come in an ARM64 (AARCH64) flavour here in the binary releases of the project in github.

This might have something to do with killing off old pipelines since migrating away from java-11.

The current 22.3.x images on Quay are single-arch, amd64 only.

zakkak commented 1 year ago

Hello @tobiasoort , sorry for the late reply.

I had a quick look in https://github.com/apache/camel-k/issues/3817 to see what you are trying to achieve and why it fails for you. To my understanding Camel-K uses the mandrel image to produce a custom image that also includes maven and you noticed that using quay.io/quarkus/ubi-quarkus-mandrel:22.3.0.0-Final-java11 doesn't work on ARM64.

AFAIK that's expected, the multi-arch images (and the images that Quarkus uses by default since 2.14) are named quay.io/quarkus/ubi-quarkus-mandrel-builder-image (note the builder-image suffix. Unfortunately these images do not work with Quakus <2.14, so if you want multi-arch support you would need to use at least Quarkus 2.14.

Regarding another comment in https://github.com/apache/camel-k/issues/3817 about mandrel now shipping only with Java 17. At the moment, Mandrel is meant to be used only for the native executable generation part of the compilation, although it ships with a complete JDK, it's not meant to be used for compiling java sources as well, and that's one of the reasons it doesn't ship with maven in the first place. However, despite being Java 17 based Mandrel will still compile without issues any Java 11 project builds passed to it.

I am closing this as a non-issue. If you (or any other Camel-K contributor) have any further questions please let me know.

Edit: You might also want to use something like this with an additional stage.