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

Document the fact that there are no more -java11 in 22.3 #456

Closed cescoffier closed 1 year ago

cescoffier commented 1 year ago

It's not a feature request \CC @galderz

When I produced the container images for Quarkus for Mandrel 22.3.0.1, I found out that there is no Java 11 image anymore. Using the Java 17 image should be fine, but there is one case where the migration should be explained.

If you have a multi-stage build, where the first stage was using the mandrel image 22.2-java11, and you want to update, you don't only need to update the mandrel image version but also the java version. It should be written somewhere in the documentation/release notes or a blog post.

jerboaa commented 1 year ago

If you have a multi-stage build, where the first stage was using the mandrel image 22.2-java11, and you want to update, you don't only need to update the mandrel image version but also the java version. It should be written somewhere in the documentation/release notes or a blog post.

@cescoffier Is there some documentation of how this multi-stage build you are referring to is being used in practise? This is a use-case I wasn't aware of. To me it seems weird to use the mandrel JDK 11 image to compile java source code as it doesn't even have maven installed. For multi-stage builds a plain OpenJDK 11 image would be more suitable, like registry.access.redhat.com/ubi8/openjdk-11.

cescoffier commented 1 year ago

I agree that it's really a niche. I've found out that we have some kind of documentation in Quarkus: https://quarkus.io/guides/building-native-image#multistage-docker.

jerboaa commented 1 year ago

I agree that it's really a niche. I've found out that we have some kind of documentation in Quarkus: https://quarkus.io/guides/building-native-image#multistage-docker.

OK, but could we not just update this doc to use:

FROM quay.io/quarkus/ubi-quarkus-native-image:22.3-java17 AS build
....
jerboaa commented 1 year ago

When I produced the container images for Quarkus for Mandrel 22.3.0.1, I found out that there is no Java 11 image anymore. Using the Java 17 image should be fine, but there is one case where the migration should be explained.

@zakkak updated the release notes, is this enough? https://github.com/graalvm/mandrel/releases/tag/mandrel-22.3.0.1-Final

galderz commented 1 year ago

@jerboaa The comment in the release notes sounds good to me. If we can also update the quarkus guide then I think that would be good enough.

cescoffier commented 1 year ago

On the quarkus side, we should

1) add a note in the guides when using mandrel in multi-stage 2) add a paragraph in the migration guide

(working on these)

zakkak commented 1 year ago

add a paragraph in the migration guide

@cescoffier I will take care of that

zakkak commented 1 year ago

(working on these)

Ooops, sorry for skipping that part. I was already going to add some content to the migration guides so that's why I hijacked this part (and totally skipped that you said you are working on it). I hope we didn't end up duplicating work.

@cescoffier I will take care of that

Done in https://github.com/quarkusio/quarkus/wiki/Migration-Guide-2.14/_compare/c95d437c649100e7ec41a305d8b977957f7a19d9 and https://github.com/quarkusio/quarkus/wiki/Migration-Guide-2.13/_compare/c95d437c649100e7ec41a305d8b977957f7a19d9 feel free to amend/edit.

On hindsight I might have had to wait for 2.14.1 and 2.13.4 to be released first :/

jerboaa commented 1 year ago

Is there anything else we need to do for this, or can we close?

zakkak commented 1 year ago

Let's just wait for https://github.com/quarkusio/quarkus/pull/29087 to be merged. I think other than that this is considered completed.

cescoffier commented 1 year ago

Closing as https://github.com/quarkusio/quarkus/pull/29087 has been merged.