You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by eo...@apache.org on 2020/07/29 09:38:04 UTC

[zookeeper] branch branch-3.5 updated: ZOOKEEPER-3896: Added separate Jenkinsfile for PreCommit jobs + disable concurrent builds

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

eolivelli pushed a commit to branch branch-3.5
in repository https://gitbox.apache.org/repos/asf/zookeeper.git


The following commit(s) were added to refs/heads/branch-3.5 by this push:
     new f94c3eb  ZOOKEEPER-3896: Added separate Jenkinsfile for PreCommit jobs + disable concurrent builds
f94c3eb is described below

commit f94c3eb2c9e3ad4bd98e2b4b81a60cd6c8d50562
Author: Andor Molnar <an...@apache.org>
AuthorDate: Wed Jul 29 11:37:21 2020 +0200

    ZOOKEEPER-3896: Added separate Jenkinsfile for PreCommit jobs + disable concurrent builds
    
    Further improvements to our Jenkinsfiles.
    
    Author: Andor Molnar <an...@apache.org>
    
    Reviewers: Enrico Olivelli <eo...@apache.org>
    
    Closes #1416 from anmolnar/ZOOKEEPER-3896
    
    (cherry picked from commit 2898ffddb05df4e826be34ad13478e78ad6fb321)
    Signed-off-by: Enrico Olivelli <eo...@apache.org>
---
 Jenkinsfile           | 14 +++++-------
 Jenkinsfile-PreCommit | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+), 8 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index ff76a9f..436c18a 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -17,11 +17,15 @@
  */
 
 pipeline {
-   agent none
+    agent {
+        label 'Hadoop'
+    }
 
     options {
+        disableConcurrentBuilds()
         buildDiscarder(logRotator(daysToKeepStr: '14'))
-        timeout(time: 59, unit: 'MINUTES')
+        timeout(time: 2, unit: 'HOURS')
+        timestamps()
     }
 
     triggers {
@@ -40,7 +44,6 @@ pipeline {
                 }
 
                 tools {
-                    // Install the Maven version configured as "M3" and add it to the path.
                     maven "Maven (latest)"
                     jdk "${JAVA_VERSION}"
                 }
@@ -48,15 +51,10 @@ pipeline {
                 stages {
                     stage('BuildAndTest') {
                         steps {
-                            // Get some code from a GitHub repository
                             git 'https://github.com/apache/zookeeper'
-
-                            // Run Maven on a Unix agent.
                             sh "mvn verify spotbugs:check checkstyle:check -Pfull-build -Dsurefire-forkcount=4"
                         }
                         post {
-                            // If Maven was able to run the tests, even if some of the test
-                            // failed, record the test results and archive the jar file.
                             always {
                                junit '**/target/surefire-reports/TEST-*.xml'
                                archiveArtifacts '**/target/*.jar'
diff --git a/Jenkinsfile-PreCommit b/Jenkinsfile-PreCommit
new file mode 100644
index 0000000..d2a666b
--- /dev/null
+++ b/Jenkinsfile-PreCommit
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+pipeline {
+    agent {
+        label 'Hadoop'
+    }
+
+    options {
+        disableConcurrentBuilds()
+        buildDiscarder(logRotator(daysToKeepStr: '14'))
+        timeout(time: 2, unit: 'HOURS')
+        timestamps()
+    }
+
+    tools {
+        maven "Maven (latest)"
+        jdk "JDK 1.8 (latest)"
+    }
+
+    stages {
+        stage('BuildAndTest') {
+            steps {
+                git 'https://github.com/apache/zookeeper'
+                sh "mvn verify spotbugs:check checkstyle:check -Pfull-build -Dsurefire-forkcount=4"
+            }
+            post {
+                always {
+                   junit '**/target/surefire-reports/TEST-*.xml'
+                }
+            }
+        }
+    }
+
+    post {
+        // Jenkins pipeline jobs fill slaves on PRs without this :(
+        cleanup() {
+            script {
+                sh label: 'Cleanup workspace', script: '''
+                    # See HADOOP-13951
+                    chmod -R u+rxw "${WORKSPACE}"
+                    '''
+                deleteDir()
+            }
+        }
+    }
+}