Skip to content

Commit 467c48c

Browse files
authored
chore: update java version (#32)
* chore: update java version * pin container base image * remove unnecessary file * externalize base image * fix base image
1 parent e4976d2 commit 467c48c

File tree

8 files changed

+28
-22
lines changed

8 files changed

+28
-22
lines changed

.github/workflows/pr-build.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ jobs:
3232
shell: bash
3333
id: versions
3434
run: |
35-
ZULU_JDK_VERSION=`cat java-${{ matrix.java-major-version}}/java.version`
35+
ZULU_JDK_VERSION=$(cat java-${{ matrix.java-major-version}}/java.version | tr -d "\n")
3636
echo ZULU_JDK_VERSION=${ZULU_JDK_VERSION} >> $GITHUB_OUTPUT
37+
BASE_IMAGE=$(cat java-${{ matrix.java-major-version}}/base.image | tr -d "\n")
38+
echo BASE_IMAGE=${BASE_IMAGE} >> $GITHUB_OUTPUT
3739
3840
- name: Build java-${{ matrix.java-major-version}}
3941
uses: docker/build-push-action@v5
@@ -42,6 +44,7 @@ jobs:
4244
platforms: ${{ matrix.platform }}
4345
build-args: |
4446
JAVA_VERSION=${{ steps.versions.outputs.ZULU_JDK_VERSION }}
47+
BASE_IMAGE=${{ steps.versions.outputs.BASE_IMAGE }}
4548
tags: hypertrace/java-build:${{ matrix.java-major-version}}
4649
load: true
4750

.github/workflows/publish.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ jobs:
3232
shell: bash
3333
id: versions
3434
run: |
35-
ZULU_JDK_VERSION=`cat java-${{ matrix.java-major-version}}/java.version`
35+
ZULU_JDK_VERSION=$(cat java-${{ matrix.java-major-version}}/java.version | tr -d "\n")
3636
echo ZULU_JDK_VERSION=${ZULU_JDK_VERSION} >> $GITHUB_OUTPUT
3737
echo JAVA_MAJOR_VERSION=$(echo $ZULU_JDK_VERSION | cut -d'.' -f1) >> $GITHUB_OUTPUT
3838
echo JAVA_FULL_VERSION=$(echo $ZULU_JDK_VERSION | cut -d'-' -f1) >> $GITHUB_OUTPUT
39+
BASE_IMAGE=$(cat java-${{ matrix.java-major-version}}/base.image | tr -d "\n")
40+
echo BASE_IMAGE=${BASE_IMAGE} >> $GITHUB_OUTPUT
3941
4042
- name: Publish Java ${{ matrix.java-major-version}} image
4143
uses: docker/build-push-action@v5
@@ -44,5 +46,6 @@ jobs:
4446
platforms: linux/amd64,linux/arm64
4547
build-args: |
4648
JAVA_VERSION=${{ steps.versions.outputs.ZULU_JDK_VERSION }}
49+
BASE_IMAGE=${{ steps.versions.outputs.BASE_IMAGE }}
4750
tags: hypertrace/java:${{ steps.versions.outputs.JAVA_MAJOR_VERSION }},hypertrace/java:${{ steps.versions.outputs.JAVA_FULL_VERSION }}
4851
push: true

java-11/Dockerfile

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
ARG JAVA_VERSION
2+
ARG BASE_IMAGE
23
FROM azul/zulu-openjdk-debian:${JAVA_VERSION} AS jre
34

45
# Needed for --strip-debug
@@ -50,26 +51,26 @@ FROM debian:bookworm-slim As builder
5051
RUN apt update && apt install -y libjemalloc-dev
5152

5253
# stage for amd64
53-
FROM gcr.io/distroless/cc-debian12:debug AS base-amd64
54+
FROM ${BASE_IMAGE} AS base-amd64
5455

5556
SHELL ["/busybox/sh", "-c"]
5657
RUN ln -s /busybox/sh /bin/sh
5758

58-
COPY --from=jre /lib/x86_64-linux-gnu/libz.so.1.2.11 /lib/x86_64-linux-gnu/libz.so.1.2.11
59-
RUN ln -s /lib/x86_64-linux-gnu/libz.so.1.2.11 /lib/x86_64-linux-gnu/libz.so.1
59+
COPY --from=jre /lib/x86_64-linux-gnu/libz.so.1.2.13 /lib/x86_64-linux-gnu/libz.so.1.2.13
60+
RUN ln -s /lib/x86_64-linux-gnu/libz.so.1.2.13 /lib/x86_64-linux-gnu/libz.so.1
6061

6162
# change default memory allocator to jemalloc
6263
COPY --from=builder /usr/lib/x86_64-linux-gnu/libjemalloc* /usr/lib/x86_64-linux-gnu/
6364
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so
6465

6566
# stage for arm64
66-
FROM gcr.io/distroless/cc-debian12:debug AS base-arm64
67+
FROM ${BASE_IMAGE} AS base-arm64
6768

6869
SHELL ["/busybox/sh", "-c"]
6970
RUN ln -s /busybox/sh /bin/sh
7071

71-
COPY --from=jre /lib/aarch64-linux-gnu/libz.so.1.2.11 /lib/aarch64-linux-gnu/libz.so.1.2.11
72-
RUN ln -s /lib/aarch64-linux-gnu/libz.so.1.2.11 /lib/aarch64-linux-gnu/libz.so.1
72+
COPY --from=jre /lib/aarch64-linux-gnu/libz.so.1.2.13 /lib/aarch64-linux-gnu/libz.so.1.2.13
73+
RUN ln -s /lib/aarch64-linux-gnu/libz.so.1.2.13 /lib/aarch64-linux-gnu/libz.so.1
7374

7475
# change default memory allocator to jemalloc
7576
COPY --from=builder /usr/lib/aarch64-linux-gnu/libjemalloc* /usr/lib/aarch64-linux-gnu/
@@ -79,11 +80,9 @@ ENV LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libjemalloc.so
7980
ARG TARGETARCH
8081
FROM base-${TARGETARCH}
8182

82-
MAINTAINER Hypertrace "https://www.hypertrace.org/"
83-
8483
COPY --from=ssl /etc/ssl/certs/java /etc/ssl/certs/java
85-
8684
COPY --from=jre /jre /usr/lib/jvm/zulu-11-slim
85+
8786
RUN ln -s /usr/lib/jvm/zulu-11-slim/bin/java /usr/bin/java
8887
RUN ln -s /usr/lib/jvm/zulu-11-slim/bin/jfr /usr/bin/jfr
8988

java-11/base.image

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
gcr.io/distroless/cc-debian12:debug@sha256:133c2e182e87c72c5efff9a3743f31542841425e9810b4a8371a9b95e06d1bd7

java-11/java.version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
11.0.23-11.72
1+
11.0.24-11.74

java-21/Dockerfile

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
ARG JAVA_VERSION
2+
ARG BASE_IMAGE
23
FROM azul/zulu-openjdk-debian:${JAVA_VERSION} AS jre
34

45
# Needed for --strip-debug
@@ -50,26 +51,26 @@ FROM debian:bookworm-slim AS builder
5051
RUN apt update && apt install -y libjemalloc-dev
5152

5253
# stage for amd64
53-
FROM gcr.io/distroless/cc-debian12:debug AS base-amd64
54+
FROM ${BASE_IMAGE} AS base-amd64
5455

5556
SHELL ["/busybox/sh", "-c"]
5657
RUN ln -s /busybox/sh /bin/sh
5758

58-
COPY --from=jre /lib/x86_64-linux-gnu/libz.so.1.2.11 /lib/x86_64-linux-gnu/libz.so.1.2.11
59-
RUN ln -s /lib/x86_64-linux-gnu/libz.so.1.2.11 /lib/x86_64-linux-gnu/libz.so.1
59+
COPY --from=jre /lib/x86_64-linux-gnu/libz.so.1.2.13 /lib/x86_64-linux-gnu/libz.so.1.2.13
60+
RUN ln -s /lib/x86_64-linux-gnu/libz.so.1.2.13 /lib/x86_64-linux-gnu/libz.so.1
6061

6162
# change default memory allocator to jemalloc
6263
COPY --from=builder /usr/lib/x86_64-linux-gnu/libjemalloc* /usr/lib/x86_64-linux-gnu/
6364
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so
6465

6566
# stage for arm64
66-
FROM gcr.io/distroless/cc-debian12:debug AS base-arm64
67+
FROM ${BASE_IMAGE} AS base-arm64
6768

6869
SHELL ["/busybox/sh", "-c"]
6970
RUN ln -s /busybox/sh /bin/sh
7071

71-
COPY --from=jre /lib/aarch64-linux-gnu/libz.so.1.2.11 /lib/aarch64-linux-gnu/libz.so.1.2.11
72-
RUN ln -s /lib/aarch64-linux-gnu/libz.so.1.2.11 /lib/aarch64-linux-gnu/libz.so.1
72+
COPY --from=jre /lib/aarch64-linux-gnu/libz.so.1.2.13 /lib/aarch64-linux-gnu/libz.so.1.2.13
73+
RUN ln -s /lib/aarch64-linux-gnu/libz.so.1.2.13 /lib/aarch64-linux-gnu/libz.so.1
7374

7475
# change default memory allocator to jemalloc
7576
COPY --from=builder /usr/lib/aarch64-linux-gnu/libjemalloc* /usr/lib/aarch64-linux-gnu/
@@ -79,11 +80,9 @@ ENV LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libjemalloc.so
7980
ARG TARGETARCH
8081
FROM base-${TARGETARCH}
8182

82-
MAINTAINER Hypertrace "https://www.hypertrace.org/"
83-
8483
COPY --from=ssl /etc/ssl/certs/java /etc/ssl/certs/java
85-
8684
COPY --from=jre /jre /usr/lib/jvm/zulu-21-slim
85+
8786
RUN ln -s /usr/lib/jvm/zulu-21-slim/bin/java /usr/bin/java
8887
RUN ln -s /usr/lib/jvm/zulu-21-slim/bin/jfr /usr/bin/jfr
8988

java-21/base.image

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
gcr.io/distroless/cc-debian12:debug@sha256:133c2e182e87c72c5efff9a3743f31542841425e9810b4a8371a9b95e06d1bd7

java-21/java.version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
21.0.3-21.34
1+
21.0.4-21.36

0 commit comments

Comments
 (0)