From 4556234ef82e252cad9380e883e9b299bcc7adc2 Mon Sep 17 00:00:00 2001
From: nm17 <dannevergame@gmail.com>
Date: Sun, 9 Mar 2025 20:09:54 +0400
Subject: [PATCH 1/2] ci: add --with-jtreg

---
 Dockerfile.openj9 | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/Dockerfile.openj9 b/Dockerfile.openj9
index d16887d..3c52ab7 100644
--- a/Dockerfile.openj9
+++ b/Dockerfile.openj9
@@ -2,13 +2,13 @@ FROM ubuntu:25.04 AS build
 
 # partly copied from mkdocker.sh
 # Copyright IBM Corp (Eclipse Public License 2.0)
-RUN apt update \
- && apt upgrade -y \
- && apt install -qq -y --no-install-recommends \
+RUN apt -qq update \
+ && apt -qq upgrade -y \
+ && apt -qq install -y --no-install-recommends \
       ant ant-contrib autoconf build-essential ca-certificates cmake cpio curl file gcc-14 g++-14 gdb git \
       libasound2-dev libcups2-dev libdwarf-dev libelf-dev libexpat1-dev libffi-dev libfontconfig libfontconfig1-dev \
       libfreetype6-dev libnuma-dev libssl-dev libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev libxtst-dev \
-      make nasm pkg-config python3 python3-dev rsync systemtap-sdt-dev unzip wget xvfb zip zlib1g-dev execstack \
+      make nasm pkg-config python3 python3-dev rsync systemtap-sdt-dev unzip wget xvfb zip zlib1g-dev execstack unzip \
  && rm -rf /var/lib/apt/lists/*
 
 WORKDIR /build
@@ -18,6 +18,12 @@ RUN mkdir /build/bootjdk /build/dist \
  && tar -xzf jdk21.tar.gz --directory=/build/bootjdk --strip-components=1 \
  && rm -f jdk21.tar.gz
 
+RUN wget --progress=dot:mega -O jtreg.zip https://builds.shipilev.net/jtreg/jtreg-7.5.1%2B1.zip \ 
+     && unzip jtreg.zip -d /build \
+     && rm -rf jtreg.zip
+
+ENV JT_HOME=/build/jtreg
+
 RUN find /build/bootjdk -name '*.so' | xargs execstack -c
 
 RUN git clone --single-branch --depth 1 \
@@ -27,9 +33,9 @@ RUN git clone --single-branch --depth 1 \
 WORKDIR /build/src
 RUN bash get_source.sh
 
-RUN bash configure --with-boot-jdk=/build/bootjdk --with-openssl=system --with-extra-ldflags="-Wl,-z,noexecstack"
+RUN bash configure --with-jtreg=/build/jtreg --with-boot-jdk=/build/bootjdk --with-openssl=system --with-extra-ldflags="-Wl,-z,noexecstack"
 RUN make all JOBS=$(nproc)
-RUN make test TEST=tier2 JOBS=$(nproc)
+RUN make install
 
 # jlink by advice from https://adoptium.net/blog/2021/10/jlink-to-produce-own-runtime/
 WORKDIR /build/src/build/linux-x86_64-server-release/images
@@ -44,6 +50,19 @@ jdk.nio.mapmode,jdk.random,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsu
 jdk.xml.dom,jdk.zipfs,openj9.criu,openj9.cuda,openj9.dataaccess,openj9.gpu,openj9.jvm,\
 openj9.sharedclasses,openj9.zosconditionhandling
 
+
+
+ENV JAVA_HOME=/build/src/build/linux-x86_64-server-release/images/jre
+ENV PATH="$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH"
+ENV TEST_JDK_HOME=/build/src/build/linux-x86_64-server-release/images/jdk
+
+RUN git clone https://github.com/adoptium/TKG.git \
+     && cd TKG \
+     && make compile JOBS=$(nproc) \
+     && make test JOBS=$(nproc)
+
+
+WORKDIR /build/src/build/linux-x86_64-server-release/images
 RUN mv ./* /build/dist/
 
 
@@ -53,7 +72,7 @@ FROM ubuntu:25.04 AS run
 
 COPY --from=build /build/dist/jre /usr/lib/jvm/openj9-jre
 ENV JAVA_HOME=/usr/lib/jvm/openj9-jre
-ENV PATH="$JAVA_HOME/bin:$PATH"
+ENV PATH="$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH"
 
 # verify installation
 RUN java --version

From 8825449ec249e866026151697eba9f13333d53b3 Mon Sep 17 00:00:00 2001
From: nm17 <dannevergame@gmail.com>
Date: Sun, 9 Mar 2025 20:09:54 +0400
Subject: [PATCH 2/2] ci: add --with-jtreg

---
 Dockerfile.openj9 | 35 ++++++++++++++++++++++++++++-------
 1 file changed, 28 insertions(+), 7 deletions(-)

diff --git a/Dockerfile.openj9 b/Dockerfile.openj9
index d16887d..5fbab3a 100644
--- a/Dockerfile.openj9
+++ b/Dockerfile.openj9
@@ -2,13 +2,13 @@ FROM ubuntu:25.04 AS build
 
 # partly copied from mkdocker.sh
 # Copyright IBM Corp (Eclipse Public License 2.0)
-RUN apt update \
- && apt upgrade -y \
- && apt install -qq -y --no-install-recommends \
+RUN apt -qq update \
+ && apt -qq upgrade -y \
+ && apt -qq install -y --no-install-recommends \
       ant ant-contrib autoconf build-essential ca-certificates cmake cpio curl file gcc-14 g++-14 gdb git \
       libasound2-dev libcups2-dev libdwarf-dev libelf-dev libexpat1-dev libffi-dev libfontconfig libfontconfig1-dev \
       libfreetype6-dev libnuma-dev libssl-dev libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev libxtst-dev \
-      make nasm pkg-config python3 python3-dev rsync systemtap-sdt-dev unzip wget xvfb zip zlib1g-dev execstack \
+      make nasm pkg-config python3 python3-dev rsync systemtap-sdt-dev unzip wget xvfb zip zlib1g-dev execstack unzip \
  && rm -rf /var/lib/apt/lists/*
 
 WORKDIR /build
@@ -18,6 +18,12 @@ RUN mkdir /build/bootjdk /build/dist \
  && tar -xzf jdk21.tar.gz --directory=/build/bootjdk --strip-components=1 \
  && rm -f jdk21.tar.gz
 
+RUN wget --progress=dot:mega -O jtreg.zip https://builds.shipilev.net/jtreg/jtreg-7.5.1%2B1.zip \ 
+     && unzip jtreg.zip -d /build \
+     && rm -rf jtreg.zip
+
+ENV JT_HOME=/build/jtreg
+
 RUN find /build/bootjdk -name '*.so' | xargs execstack -c
 
 RUN git clone --single-branch --depth 1 \
@@ -27,9 +33,9 @@ RUN git clone --single-branch --depth 1 \
 WORKDIR /build/src
 RUN bash get_source.sh
 
-RUN bash configure --with-boot-jdk=/build/bootjdk --with-openssl=system --with-extra-ldflags="-Wl,-z,noexecstack"
+RUN bash configure --with-jtreg=/build/jtreg --with-boot-jdk=/build/bootjdk --with-openssl=system --with-extra-ldflags="-Wl,-z,noexecstack"
 RUN make all JOBS=$(nproc)
-RUN make test TEST=tier2 JOBS=$(nproc)
+RUN make install
 
 # jlink by advice from https://adoptium.net/blog/2021/10/jlink-to-produce-own-runtime/
 WORKDIR /build/src/build/linux-x86_64-server-release/images
@@ -44,6 +50,21 @@ jdk.nio.mapmode,jdk.random,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsu
 jdk.xml.dom,jdk.zipfs,openj9.criu,openj9.cuda,openj9.dataaccess,openj9.gpu,openj9.jvm,\
 openj9.sharedclasses,openj9.zosconditionhandling
 
+
+
+ENV JAVA_HOME=/build/src/build/linux-x86_64-server-release/images/jre
+ENV PATH="$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH"
+ENV TEST_JDK_HOME=/build/src/build/linux-x86_64-server-release/images/jdk
+
+RUN git clone https://github.com/adoptium/TKG.git \
+     && cd TKG \
+     && make compile JOBS=$(nproc) \
+     && make _functional JOBS=$(nproc) \
+     && make _sanity JOBS=$(nproc) \
+     && make _openjdk JOBS=$(nproc)
+
+
+WORKDIR /build/src/build/linux-x86_64-server-release/images
 RUN mv ./* /build/dist/
 
 
@@ -53,7 +74,7 @@ FROM ubuntu:25.04 AS run
 
 COPY --from=build /build/dist/jre /usr/lib/jvm/openj9-jre
 ENV JAVA_HOME=/usr/lib/jvm/openj9-jre
-ENV PATH="$JAVA_HOME/bin:$PATH"
+ENV PATH="$JAVA_HOME/bin:$JAVA_HOME/lib:$PATH"
 
 # verify installation
 RUN java --version