Skip to content

Commit 26f5735

Browse files
committed
otimize graalvm fix bugs 18 - switch image to ubuntu arm, revert to work with ARG BUILDPLATFORM, remove cache
add same runner: ubuntu-latest switch to mvnw improve profile default add -Pnative no enable build native march again, and runner arm enable cache and SPRING_ACTIVE_PROFILE=cicd try to fix docker add wget add make to install musl enable static with fix make install and try to fix docker manifest try new way to install musl an link it add labs-openjdk arm and amd
1 parent ac9484d commit 26f5735

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

Dockerfile

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,25 @@ RUN wget -q https://musl.libc.org/releases/musl-1.2.5.tar.gz \
3535
RUN ln -sf /usr/local/bin/musl-gcc /usr/local/bin/x86_64-linux-musl-gcc && \
3636
ln -sf /usr/local/bin/musl-gcc /usr/local/bin/aarch64-linux-musl-gcc
3737

38-
# 1) Choose the labs-openjdk release tag you want:
39-
ARG JDK_TAG=26+3-jvmci-b01
40-
41-
# 2) Download the AArch64 musl JDK bundle
42-
RUN wget -q \
43-
"https://github.com/graalvm/labs-openjdk/releases/download/${JDK_TAG}/labsjdk-ce-${JDK_TAG}-linux-aarch64.tar.gz" \
44-
-O /tmp/jdk-musl-aarch64.tar.gz
4538

46-
# 3) Extract only the static JDK libs into GraalVM’s musl directory
47-
RUN mkdir -p /usr/lib64/graalvm/graalvm-community-java23/lib/static/linux-aarch64/musl && \
48-
tar -xzf /tmp/jdk-musl-aarch64.tar.gz \
39+
# Download the correct JDK static libs for each arch
40+
ARG JDK_TAG=26+3-jvmci-b01
41+
RUN set -eux; \
42+
if [ "${TARGETPLATFORM}" = "linux/arm64" ]; then \
43+
ASSET="labsjdk-ce-${JDK_TAG}-linux-aarch64.tar.gz"; \
44+
STATIC_DIR="lib/static/linux-aarch64/musl"; \
45+
else \
46+
ASSET="labsjdk-ce-${JDK_TAG}-linux-amd64.tar.gz"; \
47+
STATIC_DIR="lib/static/linux-amd64/musl"; \
48+
fi; \
49+
wget -q "https://github.com/graalvm/labs-openjdk/releases/download/${JDK_TAG}/${ASSET}" \
50+
-O "/tmp/${ASSET}"; \
51+
mkdir -p "/usr/lib64/graalvm/graalvm-community-java23/${STATIC_DIR}"; \
52+
tar -xzf "/tmp/${ASSET}" \
4953
--strip-components=1 \
50-
-C /usr/lib64/graalvm/graalvm-community-java23/lib/static/linux-aarch64/musl \
51-
"labsjdk-ce-${JDK_TAG}/lib/static/linux-aarch64/musl" && \
52-
rm /tmp/jdk-musl-aarch64.tar.gz
54+
-C "/usr/lib64/graalvm/graalvm-community-java23/${STATIC_DIR}" \
55+
"labsjdk-ce-${JDK_TAG}/${STATIC_DIR}"; \
56+
rm "/tmp/${ASSET}"
5357

5458
# copy only what's needed for mvnw bootstrap
5559
COPY mvnw ./

0 commit comments

Comments
 (0)