From 1f048c47628f495c513379429c06af1f449b756b Mon Sep 17 00:00:00 2001 From: Andriy Redko Date: Thu, 27 Oct 2022 12:38:35 -0400 Subject: [PATCH 1/4] Support JDK-19 builds on Jenkins Signed-off-by: Andriy Redko --- .../legacy/build.ubuntu18.opensearch.x64.dockerfile | 9 ++++++++- jenkins/gradle/gradle-check.jenkinsfile | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile b/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile index 5f5b5d388e..9303c123aa 100644 --- a/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile +++ b/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile @@ -44,6 +44,12 @@ RUN curl -SL https://github.com/adoptium/temurin17-binaries/releases/download/jd mkdir -p /opt/java/openjdk-17 && \ tar -xzf /opt/jdk17.tar.gz --strip-components 1 -C /opt/java/openjdk-17/ && \ rm /opt/jdk17.tar.gz +# JDK 19 +RUN curl -SL https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19.0.1%2B10/OpenJDK19U-jdk_x64_linux_hotspot_19.0.1_10.tar.gz -o /opt/jdk19.tar.gz && \ + mkdir -p /opt/java/openjdk-19 && \ + tar -xzf /opt/jdk19.tar.gz --strip-components 1 -C /opt/java/openjdk-19/ && \ + rm /opt/jdk19.tar.gz + # ENV JDK ENV JAVA_HOME=/opt/java/openjdk-14 \ @@ -51,7 +57,8 @@ ENV JAVA_HOME=/opt/java/openjdk-14 \ JAVA14_HOME=/opt/java/openjdk-14 \ JAVA8_HOME=/opt/java/openjdk-8 \ JAVA11_HOME=/opt/java/openjdk-11 \ - JAVA17_HOME=/opt/java/openjdk-17 + JAVA17_HOME=/opt/java/openjdk-17 \ + JAVA19_HOME=/opt/java/openjdk-19 # Sets user to opensearch as gradle check requires non-root user USER opensearch diff --git a/jenkins/gradle/gradle-check.jenkinsfile b/jenkins/gradle/gradle-check.jenkinsfile index bd8d86932c..939c7c61cc 100644 --- a/jenkins/gradle/gradle-check.jenkinsfile +++ b/jenkins/gradle/gradle-check.jenkinsfile @@ -60,6 +60,7 @@ pipeline { JAVA11_HOME="/var/jenkins/tools/hudson.model.JDK/openjdk-11" JAVA14_HOME="/var/jenkins/tools/hudson.model.JDK/openjdk-14" JAVA17_HOME="/var/jenkins/tools/hudson.model.JDK/openjdk-17" + JAVA19_HOME="/var/jenkins/tools/hudson.model.JDK/openjdk-19" USER_BUILD_CAUSE = currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause') TIMER_BUILD_CAUSE = currentBuild.getBuildCauses('hudson.triggers.TimerTrigger$TimerTriggerCause') } @@ -100,6 +101,15 @@ pipeline { sh("ls ${JAVA17_HOME}/.. | grep openjdk-17") } } + stage('Install openjdk-19') { + tools { + jdk 'openjdk-19' + } + steps { + echo "Install openjdk-19" + sh("ls ${JAVA19_HOME}/.. | grep openjdk-19") + } + } stage('Run Gradle Check') { steps { script { From 976d9380543e5fdd457268716497c01f83848607 Mon Sep 17 00:00:00 2001 From: Andriy Redko Date: Thu, 27 Oct 2022 16:09:18 -0400 Subject: [PATCH 2/4] Addressing code review comments Signed-off-by: Andriy Redko --- docker/ci/config/jdk-setup.sh | 2 ++ .../legacy/build.ubuntu18.opensearch.x64.dockerfile | 9 +-------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/docker/ci/config/jdk-setup.sh b/docker/ci/config/jdk-setup.sh index 1392f45d89..a5bba0b3f4 100755 --- a/docker/ci/config/jdk-setup.sh +++ b/docker/ci/config/jdk-setup.sh @@ -23,12 +23,14 @@ case "${ARCH}" in JDKS+="d10efb2afad3ed3d7bac9d3249cea77928aca6acb973cac0f90a2dd3606a3533@https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u332-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u332b09.tar.gz " JDKS+="999fbd90b070f9896142f0eb28354abbeb367cbe49fd86885c626e2999189e0a@https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.15_10.tar.gz " JDKS+="2e3c19c1707205c6b90cc04b416e8d83078ed98417d5a69dce3cf7dc0d7cfbca@https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.3_7.tar.gz " + JDKS+="9b5de40b0f6fe0ab32e8d035720dbbc87bf41b758ed67351ad781ca6505f5294@https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19%2B36/OpenJDK19U-jdk_aarch64_linux_hotspot_19_36.tar.gz " ;; amd64|x86_64) # Use "@" format to collect all JDK platform specific distributions JDKS+="adc13a0a0540d77f0a3481b48f10d61eb203e5ad4914507d489c2de3bd3d83da@https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u332-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u332b09.tar.gz " JDKS+="5fdb4d5a1662f0cca73fec30f99e67662350b1fa61460fa72e91eb9f66b54d0b@https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.15_10.tar.gz " JDKS+="81f5bed21077f9fbb04909b50391620c78b9a3c376593c0992934719c0de6b73@https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.3_7.tar.gz " + JDKS+="163da7ea140210bae97c6a4590c757858ab4520a78af0e3e33129863d4087552@https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19.0.1%2B10/OpenJDK19U-jdk_x64_linux_hotspot_19.0.1_10.tar.gz " ;; *) echo "Unsupported arch: ${ARCH}" diff --git a/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile b/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile index 9303c123aa..5f5b5d388e 100644 --- a/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile +++ b/docker/ci/dockerfiles/legacy/build.ubuntu18.opensearch.x64.dockerfile @@ -44,12 +44,6 @@ RUN curl -SL https://github.com/adoptium/temurin17-binaries/releases/download/jd mkdir -p /opt/java/openjdk-17 && \ tar -xzf /opt/jdk17.tar.gz --strip-components 1 -C /opt/java/openjdk-17/ && \ rm /opt/jdk17.tar.gz -# JDK 19 -RUN curl -SL https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19.0.1%2B10/OpenJDK19U-jdk_x64_linux_hotspot_19.0.1_10.tar.gz -o /opt/jdk19.tar.gz && \ - mkdir -p /opt/java/openjdk-19 && \ - tar -xzf /opt/jdk19.tar.gz --strip-components 1 -C /opt/java/openjdk-19/ && \ - rm /opt/jdk19.tar.gz - # ENV JDK ENV JAVA_HOME=/opt/java/openjdk-14 \ @@ -57,8 +51,7 @@ ENV JAVA_HOME=/opt/java/openjdk-14 \ JAVA14_HOME=/opt/java/openjdk-14 \ JAVA8_HOME=/opt/java/openjdk-8 \ JAVA11_HOME=/opt/java/openjdk-11 \ - JAVA17_HOME=/opt/java/openjdk-17 \ - JAVA19_HOME=/opt/java/openjdk-19 + JAVA17_HOME=/opt/java/openjdk-17 # Sets user to opensearch as gradle check requires non-root user USER opensearch From 99655e63d88374d0f04ff82888a8318bd33edcf6 Mon Sep 17 00:00:00 2001 From: Andriy Redko Date: Fri, 28 Oct 2022 12:42:29 -0400 Subject: [PATCH 3/4] Update JDK-19 distribution for aarch64 to 19.0.1+10 Signed-off-by: Andriy Redko --- docker/ci/config/jdk-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/ci/config/jdk-setup.sh b/docker/ci/config/jdk-setup.sh index a5bba0b3f4..9af6a31934 100755 --- a/docker/ci/config/jdk-setup.sh +++ b/docker/ci/config/jdk-setup.sh @@ -23,7 +23,7 @@ case "${ARCH}" in JDKS+="d10efb2afad3ed3d7bac9d3249cea77928aca6acb973cac0f90a2dd3606a3533@https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u332-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u332b09.tar.gz " JDKS+="999fbd90b070f9896142f0eb28354abbeb367cbe49fd86885c626e2999189e0a@https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.15_10.tar.gz " JDKS+="2e3c19c1707205c6b90cc04b416e8d83078ed98417d5a69dce3cf7dc0d7cfbca@https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.3_7.tar.gz " - JDKS+="9b5de40b0f6fe0ab32e8d035720dbbc87bf41b758ed67351ad781ca6505f5294@https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19%2B36/OpenJDK19U-jdk_aarch64_linux_hotspot_19_36.tar.gz " + JDKS+="5e8d7b3189364afd78d936bad140dbe1e7025d4b96d530ed5536d035c21afb7c@https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19.0.1%2B10/OpenJDK19U-jdk_aarch64_linux_hotspot_19.0.1_10.tar.gz " ;; amd64|x86_64) # Use "@" format to collect all JDK platform specific distributions From 9f68f6f3c1f467e59cef60ad0496749c829fef77 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Tue, 1 Nov 2022 16:01:05 -0400 Subject: [PATCH 4/4] Adding slash on destination of COPY to resolve single arch building issues Signed-off-by: Peter Zhu --- .../current/build.centos7.opensearch.x64.arm64.dockerfile | 2 +- .../current/build.rockylinux8.opensearch.x64.arm64.dockerfile | 2 +- .../current/release.centos.clients.x64.arm64.dockerfile | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/ci/dockerfiles/current/build.centos7.opensearch.x64.arm64.dockerfile b/docker/ci/dockerfiles/current/build.centos7.opensearch.x64.arm64.dockerfile index e78c1a9b14..cb0c61e5d7 100644 --- a/docker/ci/dockerfiles/current/build.centos7.opensearch.x64.arm64.dockerfile +++ b/docker/ci/dockerfiles/current/build.centos7.opensearch.x64.arm64.dockerfile @@ -45,7 +45,7 @@ RUN yum install -y nss xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils RUN yum groupinstall -y "Development Tools" && yum clean all && rm -rf /var/cache/yum/* # Tools setup -COPY --chown=0:0 config/jdk-setup.sh config/yq-setup.sh /tmp +COPY --chown=0:0 config/jdk-setup.sh config/yq-setup.sh /tmp/ RUN /tmp/jdk-setup.sh && /tmp/yq-setup.sh # Install higher version of maven 3.8.x diff --git a/docker/ci/dockerfiles/current/build.rockylinux8.opensearch.x64.arm64.dockerfile b/docker/ci/dockerfiles/current/build.rockylinux8.opensearch.x64.arm64.dockerfile index c9f448fb6a..78baade2b1 100644 --- a/docker/ci/dockerfiles/current/build.rockylinux8.opensearch.x64.arm64.dockerfile +++ b/docker/ci/dockerfiles/current/build.rockylinux8.opensearch.x64.arm64.dockerfile @@ -45,7 +45,7 @@ RUN dnf install -y nss xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils RUN dnf groupinstall -y "Development Tools" && dnf clean all && rm -rf /var/cache/dnf/* # Tools setup -COPY --chown=0:0 config/jdk-setup.sh config/yq-setup.sh /tmp +COPY --chown=0:0 config/jdk-setup.sh config/yq-setup.sh /tmp/ RUN /tmp/jdk-setup.sh && /tmp/yq-setup.sh # Install higher version of maven 3.8.x diff --git a/docker/ci/dockerfiles/current/release.centos.clients.x64.arm64.dockerfile b/docker/ci/dockerfiles/current/release.centos.clients.x64.arm64.dockerfile index 8ba5cfead5..0c6da641d8 100644 --- a/docker/ci/dockerfiles/current/release.centos.clients.x64.arm64.dockerfile +++ b/docker/ci/dockerfiles/current/release.centos.clients.x64.arm64.dockerfile @@ -33,7 +33,7 @@ RUN yum install -y @development zlib-devel bzip2 bzip2-devel readline-devel sqli RUN yum groupinstall -y "Development Tools" && yum clean all && rm -rf /var/cache/yum/* # Tools setup -COPY --chown=0:0 config/jdk-setup.sh config/yq-setup.sh /tmp +COPY --chown=0:0 config/jdk-setup.sh config/yq-setup.sh /tmp/ RUN /tmp/jdk-setup.sh && /tmp/yq-setup.sh # Create user group @@ -107,4 +107,4 @@ ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH # This will fail the docker build if any of the packages not exist RUN node -v RUN npm -v -RUN yarn -v \ No newline at end of file +RUN yarn -v