This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch ci-build-jdk-21
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 184d04d56af3310ef69d66d50d6d4cea15653569
Author: Andrea Cosentino <[email protected]>
AuthorDate: Thu Sep 21 10:43:35 2023 +0200

    Added a Jenkinsfile for building with JDK21
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 Jenkinsfile.jdk21 | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)

diff --git a/Jenkinsfile.jdk21 b/Jenkinsfile.jdk21
new file mode 100644
index 00000000000..67b27e96591
--- /dev/null
+++ b/Jenkinsfile.jdk21
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+def AGENT_LABEL = env.AGENT_LABEL ?: 'ubuntu'
+def JDK_NAME = env.JDK_NAME ?: 'jdk_21_latest'
+
+def MAVEN_PARAMS = "-B -e -fae -V -Dnoassembly -Dmaven.compiler.fork=true 
-Dsurefire.rerunFailingTestsCount=2 -Dfailsafe.rerunFailingTestsCount=1"
+def MAVEN_TEST_PARAMS = env.MAVEN_TEST_PARAMS ?: "-Dci.env.name=apache.org"
+
+pipeline {
+
+    agent {
+        label AGENT_LABEL
+    }
+
+    tools {
+        jdk JDK_NAME
+    }
+
+    environment {
+        MAVEN_SKIP_RC = true
+    }
+
+    options {
+        buildDiscarder(
+            logRotator(artifactNumToKeepStr: '5', numToKeepStr: '10')
+        )
+        disableConcurrentBuilds()
+    }
+
+    parameters {
+        booleanParam(name: 'CLEAN', defaultValue: true, description: 'Perform 
the build in clean workspace')
+    }
+
+    stages {
+
+        stage('Clean workspace') {
+             when {
+                 expression { params.CLEAN }
+             }
+             steps {
+                 sh 'git clean -fdx'
+           }
+        }
+
+        stage('Build & Install') {
+            steps {
+                sh "./mvnw -U $MAVEN_PARAMS -Darchetype.test.skip 
-Dmaven.test.skip.exec=true clean install"
+            }
+        }
+
+        stage('Code Quality Review') {
+            steps {
+                withCredentials([string(credentialsId: 'apache-camel-core', 
variable: 'SONAR_TOKEN')]) {
+                    sh "./mvnw $MAVEN_PARAMS 
-Dsonar.host.url=https://sonarcloud.io 
-Dsonar.java.experimental.batchModeSizeInKB=2048 -Dsonar.organization=apache 
-Dsonar.projectKey=apache_camel -Dsonar.branch.name=$BRANCH_NAME 
org.sonarsource.scanner.maven:sonar-maven-plugin:sonar"
+                }
+            }
+        }
+
+        stage('Test') {
+            steps {
+                timeout(unit: 'HOURS', time: 7) {
+                    sh "./mvnw $MAVEN_PARAMS $MAVEN_TEST_PARAMS 
-Darchetype.test.skip -Dmaven.test.failure.ignore=true -Dcheckstyle.skip=true 
verify"
+                }
+            }
+            post {
+                always {
+                    junit allowEmptyResults: true, testResults: 
'**/target/surefire-reports/*.xml'
+                    junit allowEmptyResults: true, testResults: 
'**/target/failsafe-reports/*.xml'
+                }
+            }
+        }
+
+    }
+
+    post {
+        always {
+            emailext(
+                subject: '${DEFAULT_SUBJECT}',
+                body: '${DEFAULT_CONTENT}',
+                recipientProviders: [[$class: 'CulpritsRecipientProvider']]
+            )
+        }
+    }
+}
+

Reply via email to