From 961a2a958035cfda50e9c370e7c4059cae3edbad Mon Sep 17 00:00:00 2001 From: "Vazquez,Brais (IT EDP)" Date: Thu, 30 Nov 2023 13:53:07 +0100 Subject: [PATCH 1/8] add java 21 and update springboot qs --- be-java-springboot/Jenkinsfile | 4 +- be-java-springboot/Jenkinsfile.template | 2 +- be-java-springboot/files/docker/Dockerfile | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- be-java-springboot/files/metadata.yml | 2 +- .../jenkins-agents/jdk/docker/Dockerfile.ubi8 | 10 +++-- common/jenkins-agents/jdk/docker/use-j21.sh | 38 +++++++++++++++++++ 7 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 common/jenkins-agents/jdk/docker/use-j21.sh diff --git a/be-java-springboot/Jenkinsfile b/be-java-springboot/Jenkinsfile index 10583c7c0..53f6f99cc 100644 --- a/be-java-springboot/Jenkinsfile +++ b/be-java-springboot/Jenkinsfile @@ -20,7 +20,7 @@ odsQuickstarterPipeline( stage('Build spring project') { dir(context.targetDir) { - def springBootVersion = '3.0.5' + def springBootVersion = '3.2.0' echo "--- create spring boot (v${springBootVersion}) project via spring initializr ---" sh "curl https://start.spring.io/starter.tgz \ @@ -29,7 +29,7 @@ odsQuickstarterPipeline( -d dependencies='web,data-rest,data-jpa,h2,security,devtools' \ -d platformVersion=${springBootVersion} \ -d packaging=jar \ - -d jvmVersion=17 \ + -d jvmVersion=21 \ -d groupId=${context.projectId} \ -d artifactId=${context.componentId} \ -d name=${context.componentId} \ diff --git a/be-java-springboot/Jenkinsfile.template b/be-java-springboot/Jenkinsfile.template index d8be5bc63..d320d8b5a 100644 --- a/be-java-springboot/Jenkinsfile.template +++ b/be-java-springboot/Jenkinsfile.template @@ -26,7 +26,7 @@ def stageBuild(def context) { } stage('Build and Unit Test') { withEnv(["TAGVERSION=${context.tagversion}", "NEXUS_HOST=${context.nexusHost}", "NEXUS_USERNAME=${context.nexusUsername}", "NEXUS_PASSWORD=${context.nexusPassword}", "JAVA_OPTS=${javaOpts}","GRADLE_TEST_OPTS=${gradleTestOpts}","ENVIRONMENT=${springBootEnv}"]) { - def status = sh(script: "source use-j17.sh && ./gradlew clean build --stacktrace --no-daemon && source use-j11.sh", returnStatus: true) + def status = sh(script: "source use-j21.sh && ./gradlew clean build --stacktrace --no-daemon && source use-j11.sh", returnStatus: true) if (status != 0) { error "Build failed!" } diff --git a/be-java-springboot/files/docker/Dockerfile b/be-java-springboot/files/docker/Dockerfile index 8529c408f..39b6f42a8 100644 --- a/be-java-springboot/files/docker/Dockerfile +++ b/be-java-springboot/files/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM registry.access.redhat.com/ubi9/openjdk-17 +FROM registry.access.redhat.com/ubi9/openjdk-21 # Enforce runtime protection for log4j2 CVE-2021-44228 (affected version from 2.0 to 2.14.1) in the affected vesion is used. # This applies for version from 2.10 and not below. diff --git a/be-java-springboot/files/gradle/wrapper/gradle-wrapper.properties b/be-java-springboot/files/gradle/wrapper/gradle-wrapper.properties index e1bef7e87..a59520664 100644 --- a/be-java-springboot/files/gradle/wrapper/gradle-wrapper.properties +++ b/be-java-springboot/files/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/be-java-springboot/files/metadata.yml b/be-java-springboot/files/metadata.yml index 9ef8d7e87..b1f2a24ff 100644 --- a/be-java-springboot/files/metadata.yml +++ b/be-java-springboot/files/metadata.yml @@ -1,6 +1,6 @@ --- name: OpenJDK -description: "OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. Technologies: Spring Boot 2.1, OpenJDK 17" +description: "OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. Technologies: Spring Boot 3.2.0, OpenJDK 21" supplier: https://openjdk.java.net/ version: 4.x type: ods diff --git a/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 b/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 index a827722ee..859b87793 100644 --- a/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 +++ b/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 @@ -5,7 +5,7 @@ LABEL com.redhat.component="jenkins-agent-jdk-35-rhel7-container" \ name="openshift4/jenkins-agent-jdk-35-rhel7" \ architecture="x86_64" \ io.k8s.display-name="Jenkins Agent JDK" \ - io.k8s.description="The jenkins agent jdk image has java 11 and 17 installed on top of the jenkins agent base image." \ + io.k8s.description="The jenkins agent jdk image has java 11, 17 and 21 installed on top of the jenkins agent base image." \ io.openshift.tags="openshift,jenkins,agent,jdk" \ maintainer="openshift-dev-services+jenkins@redhat.com" @@ -36,6 +36,7 @@ RUN sh -c "echo 'rhel' > /etc/yum/vars/osname" && \ RUN yum -y --nobest --skip-broken update && \ yum install -y java-11-openjdk-devel && \ yum install -y --enablerepo Adoptium temurin-17-jdk && \ + yum install -y --enablerepo Adoptium temurin-21-jdk && \ yum install -y binutils && \ yum updateinfo -y && \ yum repolist -y && \ @@ -48,10 +49,11 @@ RUN chmod +x /usr/local/bin/use-j*.sh && \ chmod ugo+s /usr/local/bin/use-j*.sh && \ sh -c 'chmod ugo+s $(which alternatives)' && \ ls -la /usr/local/bin/use-j*.sh && \ - echo "--- STARTS JDK 11/17 TESTS ---" && \ + echo "--- STARTS JDK 11/17/21 TESTS ---" && \ + use-j21.sh && \ use-j17.sh && \ use-j11.sh && \ - echo "--- ENDS JDK 11/17 TESTS ---" && \ + echo "--- ENDS JDK 11/17/21 TESTS ---" && \ ## Needed in case base and jdk agents has a mismatch in java versions rm -fv /etc/profile.d/set-default-java.sh && \ echo "export JAVA_HOME=/usr/lib/jvm/$(ls -lah /usr/lib/jvm | grep "java-11-openjdk-11.*\.x86_64" | awk '{print $NF}' | head -1)" >> /etc/profile.d/set-default-java.sh && \ @@ -89,7 +91,7 @@ RUN chown -R 1001:0 $HOME && \ chmod -c 666 /etc/pki/ca-trust/extracted/java/cacerts && \ ls -la /etc/pki/ca-trust/extracted/java/cacerts -# temporary java17 switch bugfix +# temporary java version switch bugfix USER root RUN chgrp -R 0 /var/lib/alternatives && \ chmod -R g=u /var/lib/alternatives && \ diff --git a/common/jenkins-agents/jdk/docker/use-j21.sh b/common/jenkins-agents/jdk/docker/use-j21.sh new file mode 100644 index 000000000..15a991771 --- /dev/null +++ b/common/jenkins-agents/jdk/docker/use-j21.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +JAVA_HOME_FOLDER=$(ls -lah /usr/lib/jvm | grep "temurin-21" | awk '{print $NF}' | head -1) +JAVA_VERSION="21" + +function msg_and_exit() { + echo "ERROR: ${1}" + exit 1 +} + +echo "Switching to java ${JAVA_VERSION}:" +JAVA_HOME="/usr/lib/jvm/${JAVA_HOME_FOLDER}" + +alternatives --set java ${JAVA_HOME}/bin/java || \ + msg_and_exit "Cannot configure java ${JAVA_VERSION} as the alternative to use for java." +java -version 2>&1 | grep -q "\s\+${JAVA_VERSION}" || msg_and_exit "Java version is not ${JAVA_VERSION}." + +if [ -x ${JAVA_HOME}/bin/javac ]; then + alternatives --set javac ${JAVA_HOME}/bin/javac || \ + msg_and_exit "Cannot configure javac ${JAVA_VERSION} as the alternative to use for javac." + javac -version 2>&1 | grep -q "\s\+${JAVA_VERSION}" || msg_and_exit "Javac version is not ${JAVA_VERSION}." +else + echo "WARNING: Not found binary for javac in path ${JAVA_HOME}/bin/javac " +fi + +java -version 2>&1 +if which 'javac'; then + javac -version 2>&1 +else + echo "WARNING: Binary javac is not available." +fi + +if [ -d ${JAVA_HOME}/bin/ ]; then + export JAVA_HOME +else + msg_and_exit "Cannot configure JAVA_HOME environment variable to ${JAVA_HOME}" +fi +echo "JAVA_HOME: $JAVA_HOME" \ No newline at end of file From f70c5f6dfba90f5e141d0ba6c170adb1fa170232 Mon Sep 17 00:00:00 2001 From: "Vazquez,Brais (IT EDP)" Date: Tue, 5 Dec 2023 15:13:20 +0100 Subject: [PATCH 2/8] update comments --- common/jenkins-agents/jdk/docker/Dockerfile.ubi8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 b/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 index 859b87793..de1ae4217 100644 --- a/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 +++ b/common/jenkins-agents/jdk/docker/Dockerfile.ubi8 @@ -31,8 +31,8 @@ RUN sh -c "echo 'rhel' > /etc/yum/vars/osname" && \ sed -i 's@^\s*enabled\s*=.*$@enabled = 0@g' /etc/yum.repos.d/adoptium-temurin.repo && \ grep -ri '^\s*\(name\|enabled\)\s*=' /etc/yum.repos.d/* -# Install Java 11, 17 and binutils -# Note: use java scripts are executed to test the scripts but also use-j11.sh in called 2nd place to set is as default version +# Install Java 11, 17, 21 and binutils +# Note: use java scripts are executed to test the scripts but also use-j11.sh in called 3nd place to set is as default version RUN yum -y --nobest --skip-broken update && \ yum install -y java-11-openjdk-devel && \ yum install -y --enablerepo Adoptium temurin-17-jdk && \ From 7d9801980d2e4169924b00f44ad286b9f6a54ff1 Mon Sep 17 00:00:00 2001 From: "Vazquez,Brais (IT EDP)" Date: Tue, 5 Dec 2023 16:27:17 +0100 Subject: [PATCH 3/8] update documentation --- docs/modules/jenkins-agents/pages/jdk.adoc | 8 ++++-- .../pages/be-java-springboot.adoc | 28 +++++++++---------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/docs/modules/jenkins-agents/pages/jdk.adoc b/docs/modules/jenkins-agents/pages/jdk.adoc index fdc685c98..e18690c89 100644 --- a/docs/modules/jenkins-agents/pages/jdk.adoc +++ b/docs/modules/jenkins-agents/pages/jdk.adoc @@ -10,20 +10,22 @@ It can be referenced in a `Jenkinsfile` with `ods/jenkins-agent-jdk`. . Nexus and HTTP proxy configuration for Maven & Gradle == Supported Java Versions -This agent provides 2 JDKs: `java 11` and `java 17`. +This agent provides 2 JDKs: `java 11`, `java 17` and `java 21`. -For backwards compatibility `java 11` is the default version. Java projects migrating from previous ODS version will not require any change. A migration to `java 17` can be done afterwards. +For backwards compatibility `java 11` is the default version. Java projects migrating from previous ODS version will not require any change. A migration to `java 17` and `java 21` can be done afterwards. To switch the environment to `java 17` the script `use-j17.sh` is provided at the jenkins home folder. +To switch the environment to `java 21` the script `use-j21.sh` is provided at the jenkins home folder. Following command shows how the jenkins build script from the springboot quickstarter switches the java version before calling the gradle wrapper: ``` -def status = sh(script: "$HOME/use-j17.sh && ./gradlew clean build --stacktrace --no-daemon && $HOME/use-j11.sh", returnStatus: true) +def status = sh(script: "$HOME/use-j21.sh && ./gradlew clean build --stacktrace --no-daemon && $HOME/use-j11.sh", returnStatus: true) ``` NOTE: like this example, you will need to switch back to `java 11` after running the gradlew build. This is required because the jdk agent environment still does not support the latest java version. E.g. the `sonar scanner` is not compatible with the latest java version. == Installed packages Dockerfile.ubi8 installs: +- java-21-openjdk-devel & java-21-openjdk-jmods - java-17-openjdk-devel & java-17-openjdk-jmods - java-11-openjdk-devel & java-11-openjdk-jmods diff --git a/docs/modules/quickstarters/pages/be-java-springboot.adoc b/docs/modules/quickstarters/pages/be-java-springboot.adoc index 99ffa7de0..44b03492a 100644 --- a/docs/modules/quickstarters/pages/be-java-springboot.adoc +++ b/docs/modules/quickstarters/pages/be-java-springboot.adoc @@ -4,7 +4,7 @@ Use this quickstarter to generate a https://www.tutorialspoint.com/spring_boot/index.htm[spring boot] based project. -It will provide a java 17 project with preconfigured gradle build and CI/CD integration (Jenkinsfile). +It will provide a java 21 project with preconfigured gradle build and CI/CD integration (Jenkinsfile). == What files / architecture is generated? @@ -12,9 +12,9 @@ The quickstarter uses the spring boot project generator service hosted by Spring This is implemented in the quickstarter jenkins build script called `Jenkinsfile` (open it to understand the internal of the code generation of this quickstarter). -When provisioning this quickstarter in the provisioning app a spring boot project based on version `3.0.5` will be generated and pushed to your git repository. +When provisioning this quickstarter in the provisioning app a spring boot project based on version `3.2.0` will be generated and pushed to your git repository. -The generated project requires `java 17` and includes the required gradle build and wrapper artifact based on gradle version `8.0.2`. +The generated project requires `java 21` and includes the required gradle build and wrapper artifact based on gradle version `8.5`. == Project Structure @@ -96,7 +96,7 @@ This git repository contains the generated project artifacts as describe above i To start working with it you´ll need to clone the git repository in your local development environment. After cloning it use `./gradlew build` to verify that the project compiles and test runs. -NOTE: java 17 or later version is required to run gradlew and compile java classes. +NOTE: java 21 or later version is required to run gradlew and compile java classes. === Metadata @@ -111,7 +111,7 @@ version: 1.0.1 type: ods role: backend runtime: spring-boot -runtimeVersion: 3.0.5 +runtimeVersion: 3.2.0 ``` == How this quickstarter is built thru jenkins @@ -141,17 +141,17 @@ include::partial$secret-scanning-with-gitleaks.adoc This quickstarter uses the https://github.com/opendevstack/ods-quickstarters/tree/master/common/jenkins-agents/jdk[jdk] Jenkins builder agent. -== Migration to Java 17 +== Migration to Java 21 -The https://github.com/opendevstack/ods-quickstarters/tree/master/common/jenkins-agents/jdk[jdk builder agent] Jenkins builder agent has installed 2 JDK: `java 11` and `java 17`. +The https://github.com/opendevstack/ods-quickstarters/tree/master/common/jenkins-agents/jdk[jdk builder agent] Jenkins builder agent has installed 3 JDK: `java 11`, `java 17` and `java 21`. The default version is `java 11`. This makes the agent backwards compatible. -If you are migrating an ODS-based spring boot project to `java 17` following instructions provide a some guidance about the typical steps to achieve this: +If you are migrating an ODS-based spring boot project to `java 21` following instructions provide a some guidance about the typical steps to achieve this: - change the agent version as indicated in https://github.com/opendevstack/ods-quickstarters/tree/master/common/jenkins-agents/jdk[jdk builder agent] -- upgrade the gradle wrapper to version `8.0.2` running this gradle command at the root folder of your spring project: +- upgrade the gradle wrapper to version `8.5` running this gradle command at the root folder of your spring project: ``` -gradle wrapper --gradle-version 8.0.2 --distribution-type bin +gradle wrapper --gradle-version 8.5 --distribution-type bin ``` NOTE: this command use just `gradle` instead of the wrapper. @@ -164,11 +164,11 @@ Following files are expected to be included in the change: ``` - verify that the jenkins build pipeline run successful. Fix any error if is not the case. -- change your local runtime to `java 17` and compile your project with the gradle wrapper. -- update in your `build.gradle` file the source compatibility to `sourceCompatibility = JavaVersion.VERSION_17` and compile again. -- update the project `Jenkinfile` by adding in the stage `Build and Unit Test` a call to the `use-j17.sh` before the gradle wrapper. This will set the runtime to `java 17. It would look like this: +- change your local runtime to `java 21` and compile your project with the gradle wrapper. +- update in your `build.gradle` file the source compatibility to `sourceCompatibility = JavaVersion.VERSION_21` and compile again. +- update the project `Jenkinfile` by adding in the stage `Build and Unit Test` a call to the `use-j21.sh` before the gradle wrapper. This will set the runtime to `java 21. It would look like this: ``` -def status = sh(script: "use-j17.sh && ./gradlew clean build --stacktrace --no-daemon", returnStatus: true) +def status = sh(script: "use-j21.sh && ./gradlew clean build --stacktrace --no-daemon", returnStatus: true) ``` - commit and push the changes to the remote git project repository. - verify that the jenkins build pipeline run successful. Fix any error if is not the case. From 9afc8590b5dce101071bc85f097597aacfdb23de Mon Sep 17 00:00:00 2001 From: "Vazquez,Brais (IT EDP)" Date: Tue, 5 Dec 2023 17:36:52 +0100 Subject: [PATCH 4/8] update packages and gradle --- e2e-spock-geb/files/build.gradle | 8 ++++---- .../files/gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/e2e-spock-geb/files/build.gradle b/e2e-spock-geb/files/build.gradle index fba38a947..733acd9e0 100644 --- a/e2e-spock-geb/files/build.gradle +++ b/e2e-spock-geb/files/build.gradle @@ -49,12 +49,12 @@ repositories { } ext { - junitVersion = "5.9.2" + junitVersion = "5.10.1" spockVersion = "2.3-groovy-4.0" gebVersion = "7.0" - seleniumVersion = "4.8.3" - htmlunitVersion = "4.8.1.1" - unirestVersion = "3.14.2" + seleniumVersion = "4.15.0" + htmlunitVersion = "4.13.0" + unirestVersion = "3.14.5" // When a test fail we can continue or fail the stage CONTINUE_WHEN_TEST_FAIL = true } diff --git a/e2e-spock-geb/files/gradle/wrapper/gradle-wrapper.properties b/e2e-spock-geb/files/gradle/wrapper/gradle-wrapper.properties index e1bef7e87..a59520664 100644 --- a/e2e-spock-geb/files/gradle/wrapper/gradle-wrapper.properties +++ b/e2e-spock-geb/files/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 66c72f52931d8c7b50fda5d0c3f010425350c033 Mon Sep 17 00:00:00 2001 From: "Vazquez,Brais (IT EDP)" Date: Tue, 5 Dec 2023 17:48:41 +0100 Subject: [PATCH 5/8] bump to java 21 --- e2e-spock-geb/Jenkinsfile.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e-spock-geb/Jenkinsfile.template b/e2e-spock-geb/Jenkinsfile.template index 7e363d92c..a54451a85 100644 --- a/e2e-spock-geb/Jenkinsfile.template +++ b/e2e-spock-geb/Jenkinsfile.template @@ -24,7 +24,7 @@ def stageTest(def context) { stage('Integration Test') { sh (script: "chmod a+x gradle*", label : "allow gradle to execute") withEnv(["TAGVERSION=${context.tagversion}", "NEXUS_HOST=${context.nexusHost}", "NEXUS_USERNAME=${context.nexusUsername}", "NEXUS_PASSWORD=${context.nexusPassword}", "JAVA_OPTS=${javaOpts}","GRADLE_TEST_OPTS=${gradleTestOpts}","ENVIRONMENT=${springBootEnv}","OPENSHIFT_PROJECT=${context.targetProject}","OPENSHIFT_APP_DOMAIN=${context.getOpenshiftApplicationDomain()}"]) { - def status = sh(script: "./gradlew clean test --stacktrace --no-daemon", returnStatus: true) + def status = sh(script: "source use-j21.sh && ./gradlew clean test --stacktrace --no-daemon && source use-j11.sh", returnStatus: true) junit(testResults:"build/test-results/installation*/*.xml, build/test-results/integration*/*.xml, build/test-results/acceptance*/*.xml", allowEmptyResults:true) stash(name: "installation-test-reports-junit-xml-${context.componentId}-${context.buildNumber}", includes: 'build/test-results/installation*/*.xml', allowEmpty: true) stash(name: "integration-test-reports-junit-xml-${context.componentId}-${context.buildNumber}", includes: 'build/test-results/integration*/*.xml', allowEmpty: true) From 21a405f5a6faefc1ad0cdcaa2e4ccf0255eb1281 Mon Sep 17 00:00:00 2001 From: "Vazquez,Brais (IT EDP)" Date: Tue, 5 Dec 2023 17:58:01 +0100 Subject: [PATCH 6/8] use java 17 for apock --- e2e-spock-geb/Jenkinsfile.template | 2 +- e2e-spock-geb/files/metadata.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/e2e-spock-geb/Jenkinsfile.template b/e2e-spock-geb/Jenkinsfile.template index a54451a85..411e9c376 100644 --- a/e2e-spock-geb/Jenkinsfile.template +++ b/e2e-spock-geb/Jenkinsfile.template @@ -24,7 +24,7 @@ def stageTest(def context) { stage('Integration Test') { sh (script: "chmod a+x gradle*", label : "allow gradle to execute") withEnv(["TAGVERSION=${context.tagversion}", "NEXUS_HOST=${context.nexusHost}", "NEXUS_USERNAME=${context.nexusUsername}", "NEXUS_PASSWORD=${context.nexusPassword}", "JAVA_OPTS=${javaOpts}","GRADLE_TEST_OPTS=${gradleTestOpts}","ENVIRONMENT=${springBootEnv}","OPENSHIFT_PROJECT=${context.targetProject}","OPENSHIFT_APP_DOMAIN=${context.getOpenshiftApplicationDomain()}"]) { - def status = sh(script: "source use-j21.sh && ./gradlew clean test --stacktrace --no-daemon && source use-j11.sh", returnStatus: true) + def status = sh(script: "source use-j17.sh && ./gradlew clean test --stacktrace --no-daemon && source use-j11.sh", returnStatus: true) junit(testResults:"build/test-results/installation*/*.xml, build/test-results/integration*/*.xml, build/test-results/acceptance*/*.xml", allowEmptyResults:true) stash(name: "installation-test-reports-junit-xml-${context.componentId}-${context.buildNumber}", includes: 'build/test-results/installation*/*.xml', allowEmpty: true) stash(name: "integration-test-reports-junit-xml-${context.componentId}-${context.buildNumber}", includes: 'build/test-results/integration*/*.xml', allowEmpty: true) diff --git a/e2e-spock-geb/files/metadata.yml b/e2e-spock-geb/files/metadata.yml index d06aaf48b..c29b7a401 100644 --- a/e2e-spock-geb/files/metadata.yml +++ b/e2e-spock-geb/files/metadata.yml @@ -1,6 +1,6 @@ --- name: e2e-spock-geb -description: "Spock is a highly expressive testing and specification framework for Java and Groovy. Geb is a browser automation solution for functional/web/acceptance testing. Technologies: Spock 1.3, Geb 3.2, Selenium 3.141" +description: "Spock is a highly expressive testing and specification framework for Java and Groovy. Geb is a browser automation solution for functional/web/acceptance testing. Technologies: Spock 2.3-groovy-4.0, Geb 7.0, Selenium 4.15.0" supplier: http://spockframework.org version: 4.x type: ods-test From b9e856e5d955b76350c2f37bf1e8536e760292a4 Mon Sep 17 00:00:00 2001 From: "Vazquez,Brais (IT EDP)" Date: Tue, 5 Dec 2023 18:10:56 +0100 Subject: [PATCH 7/8] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c5ab4c48..8582b7a54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Added - Added secret scanning in docker plain ([#963](https://github.com/opendevstack/ods-quickstarters/pull/963)) - Added Nodejs20 agent ([#962](https://github.com/opendevstack/ods-quickstarters/issues/962)) +- Added java 21 to jdk agent, updated Springboot and Spock quickstarters ([#962](https://github.com/opendevstack/ods-quickstarters/issues/962)) ### Modified From d8dedf6a2aec88e886f2fcb6c336c3109dd81b1a Mon Sep 17 00:00:00 2001 From: brais <26645694+braisvq1996@users.noreply.github.com> Date: Mon, 8 Jan 2024 10:18:12 +0100 Subject: [PATCH 8/8] Update jdk.adoc --- docs/modules/jenkins-agents/pages/jdk.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/jenkins-agents/pages/jdk.adoc b/docs/modules/jenkins-agents/pages/jdk.adoc index e18690c89..9ebf4d218 100644 --- a/docs/modules/jenkins-agents/pages/jdk.adoc +++ b/docs/modules/jenkins-agents/pages/jdk.adoc @@ -10,7 +10,7 @@ It can be referenced in a `Jenkinsfile` with `ods/jenkins-agent-jdk`. . Nexus and HTTP proxy configuration for Maven & Gradle == Supported Java Versions -This agent provides 2 JDKs: `java 11`, `java 17` and `java 21`. +This agent provides 3 JDKs: `java 11`, `java 17` and `java 21`. For backwards compatibility `java 11` is the default version. Java projects migrating from previous ODS version will not require any change. A migration to `java 17` and `java 21` can be done afterwards.