From e93656cf7b16acc7e4b6c62782bc000247cb4e2f Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 29 Mar 2023 13:48:04 -0500 Subject: [PATCH] Test with Java 20 in CI. See #1367. --- Jenkinsfile | 62 +++++++++++++----------- ci/openjdk17-8-cassandra-3.11/Dockerfile | 27 ----------- pom.xml | 6 +++ 3 files changed, 40 insertions(+), 55 deletions(-) delete mode 100644 ci/openjdk17-8-cassandra-3.11/Dockerfile diff --git a/Jenkinsfile b/Jenkinsfile index 47bf4d328..a895c90fd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,7 +1,7 @@ def p = [:] node { - checkout scm - p = readProperties interpolate: true, file: 'ci/pipeline.properties' + checkout scm + p = readProperties interpolate: true, file: 'ci/pipeline.properties' } pipeline { @@ -18,31 +18,7 @@ pipeline { } stages { - stage("Docker images") { - parallel { - stage('Publish JDK 17 + Cassandra 3.11') { - when { - anyOf { - changeset "ci/openjdk17-8-cassandra-3.11/**" - changeset "ci/pipeline.properties" - } - } - agent { label 'data' } - options { timeout(time: 30, unit: 'MINUTES') } - - steps { - script { - def image = docker.build("springci/spring-data-with-cassandra-3.11:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg CASSANDRA=${p['docker.cassandra.3.version']} ci/openjdk17-8-cassandra-3.11/") - docker.withRegistry(p['docker.registry'], p['docker.credentials']) { - image.push() - } - } - } - } - } - } - - stage("test: baseline (Java 17)") { + stage("test: baseline (main)") { when { beforeAgent(true) anyOf { @@ -59,7 +35,7 @@ pipeline { } steps { script { - docker.image("harbor-repo.vmware.com/dockerhub-proxy-cache/springci/spring-data-with-cassandra-3.11:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') { + docker.image("harbor-repo.vmware.com/dockerhub-proxy-cache/springci/spring-data-with-cassandra-3.11:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) { sh 'mkdir -p /tmp/jenkins-home' sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &' sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,external-cassandra clean dependency:list verify -Dsort -U -B' @@ -68,6 +44,36 @@ pipeline { } } + stage("Test other configurations") { + when { + beforeAgent(true) + allOf { + branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP") + not { triggeredBy 'UpstreamCause' } + } + } + parallel { + stage("test: baseline (next)") { + agent { + label 'data' + } + options { timeout(time: 30, unit: 'MINUTES') } + environment { + ARTIFACTORY = credentials("${p['artifactory.credentials']}") + } + steps { + script { + docker.image("harbor-repo.vmware.com/dockerhub-proxy-cache/springci/spring-data-with-cassandra-3.11:${p['java.next.tag']}").inside(p['docker.java.inside.basic']) { + sh 'mkdir -p /tmp/jenkins-home' + sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &' + sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,external-cassandra clean dependency:list verify -Dsort -U -B' + } + } + } + } + } + } + stage('Release to artifactory') { when { beforeAgent(true) diff --git a/ci/openjdk17-8-cassandra-3.11/Dockerfile b/ci/openjdk17-8-cassandra-3.11/Dockerfile deleted file mode 100644 index d3653d0c1..000000000 --- a/ci/openjdk17-8-cassandra-3.11/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -ARG BASE -FROM ${BASE} -# Any ARG statements before FROM are cleared. -ARG CASSANDRA - -RUN set -eux; \ - CASSANDRA_URL="https://archive.apache.org/dist/cassandra/${CASSANDRA}/apache-cassandra-${CASSANDRA}-bin.tar.gz"; \ - sed -i -e 's/http/https/g' /etc/apt/sources.list ; \ - curl -LfsSo /tmp/cassandra.tar.gz ${CASSANDRA_URL}; \ - mkdir -p /opt/cassandra /opt/cassandra/data /opt/cassandra/logs; \ - cd /opt/cassandra; \ - tar -xf /tmp/cassandra.tar.gz --strip-components=1; \ - rm -rf /tmp/cassandra.tar.gz; \ - chmod -R a+rwx /opt/cassandra; \ - useradd -d /home/jenkins-docker -m -u 1001 -U jenkins-docker; - -RUN set -eux; \ - BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz'; \ - curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ - mkdir -p /opt/java/openjdk8; \ - cd /opt/java/openjdk8; \ - tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ - rm -rf /tmp/openjdk.tar.gz; - -ENV PATH="/opt/java/openjdk8/bin:$PATH" -ENV MAX_HEAP_SIZE=1500M -ENV HEAP_NEWSIZE=300M diff --git a/pom.xml b/pom.xml index f0bcf7ccb..cb1d86203 100644 --- a/pom.xml +++ b/pom.xml @@ -159,6 +159,12 @@ assertj-core ${assertj} test + + + net.bytebuddy + byte-buddy + +