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

mck pushed a commit to branch cassandra-2.2
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-2.2 by this push:
     new d69f769  Create Jenkins pipeline definition, and split out Jenkins 
test-all builds to individual builds for each of the test targets
d69f769 is described below

commit d69f7696e4fa2a48795e2e7f08e9235455eeb15a
Author: Mick Semb Wever <[email protected]>
AuthorDate: Fri Jan 10 10:34:27 2020 +0100

    Create Jenkins pipeline definition, and split out Jenkins test-all builds 
to individual builds for each of the test targets
    
     patch by Mick Semb Wever; reviewed by David Capwell for CASSANDRA-15496
---
 .circleci/config.yml         |   2 +-
 .circleci/config.yml.HIGHRES |   2 +-
 .circleci/config.yml.LOWRES  |   2 +-
 .jenkins/Jenkinsfile         | 273 +++++++++++++++++++++++++++++++++++++++++++
 build.xml                    |   6 +-
 ide/idea/workspace.xml       |   1 -
 6 files changed, 277 insertions(+), 9 deletions(-)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index fee6f2c..b1ed0ef 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1085,4 +1085,4 @@ workflows:
 #           destination: dtest_<<parameters.file_tag>>
 #       - store_artifacts:
 #           path: ~/cassandra-dtest/logs
-#           destination: dtest_<<parameters.file_tag>>_logs
\ No newline at end of file
+#           destination: dtest_<<parameters.file_tag>>_logs
diff --git a/.circleci/config.yml.HIGHRES b/.circleci/config.yml.HIGHRES
index 7340d99..4bbef27 100644
--- a/.circleci/config.yml.HIGHRES
+++ b/.circleci/config.yml.HIGHRES
@@ -1085,4 +1085,4 @@ workflows:
 #           destination: dtest_<<parameters.file_tag>>
 #       - store_artifacts:
 #           path: ~/cassandra-dtest/logs
-#           destination: dtest_<<parameters.file_tag>>_logs
\ No newline at end of file
+#           destination: dtest_<<parameters.file_tag>>_logs
diff --git a/.circleci/config.yml.LOWRES b/.circleci/config.yml.LOWRES
index fee6f2c..b1ed0ef 100644
--- a/.circleci/config.yml.LOWRES
+++ b/.circleci/config.yml.LOWRES
@@ -1085,4 +1085,4 @@ workflows:
 #           destination: dtest_<<parameters.file_tag>>
 #       - store_artifacts:
 #           path: ~/cassandra-dtest/logs
-#           destination: dtest_<<parameters.file_tag>>_logs
\ No newline at end of file
+#           destination: dtest_<<parameters.file_tag>>_logs
diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile
new file mode 100644
index 0000000..adb2a8d
--- /dev/null
+++ b/.jenkins/Jenkinsfile
@@ -0,0 +1,273 @@
+// 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
+//
+//    https://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.
+//
+//
+// Jenkins declaration of how to build and test the current codebase.
+//  Jenkins infrastructure related settings should be kept in
+//    
https://github.com/apache/cassandra-builds/blob/master/jenkins-dsl/cassandra_job_dsl_seed.groovy
+//
+
+pipeline {
+  agent any
+  stages {
+      stage('Init') {
+        steps {
+            cleanWs()
+        }
+      }
+      stage('Build') {
+        steps {
+            build job: "${env.JOB_NAME}-artifacts"
+        }
+      }
+      stage('Test') {
+          parallel {
+            stage('JVM DTests') {
+              steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-test-jvm-dtest-forking"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test-jvm-dtest-forking')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test-jvm-dtest-forking')
+                        }
+                    }
+                }
+              }
+            }
+            stage('units') {
+                steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-test"
+                  }
+                }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test')
+                        }
+                    }
+                }
+              }
+            }
+            stage('long units') {
+              steps {
+                  warnError('Tests unstable') {
+                      build job: "${env.JOB_NAME}-long-test"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('long-test')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('long-test')
+                        }
+                    }
+                }
+              }
+            }
+            stage('burn') {
+              steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-test-burn"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test-burn')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test-burn')
+                        }
+                    }
+                }
+              }
+            }
+            stage('compression') {
+              steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-test-compression"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test-compression')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('test-compression')
+                        }
+                    }
+                }
+              }
+            }
+          }
+      }
+      stage('Distributed Test') {
+          parallel {
+            stage('dtest') {
+              steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-dtest"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest')
+                        }
+                    }
+                }
+              }
+            }
+            stage('dtest-large') {
+              steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-dtest-large"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest-large')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest-large')
+                        }
+                    }
+                }
+              }
+            }
+            stage('dtest-novnode') {
+              steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-dtest-novnode"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest-novnode')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest-novnode')
+                        }
+                    }
+                }
+              }
+            }
+            stage('dtest-offheap') {
+              steps {
+                  warnError('Tests unstable') {
+                    build job: "${env.JOB_NAME}-dtest-offheap"
+                  }
+              }
+              post {
+                success {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest-offheap')
+                        }
+                    }
+                }
+                unstable {
+                    warnError('missing test xml files') {
+                        script {
+                            copyTestResults('dtest-offheap')
+                        }
+                    }
+                }
+              }
+            }
+          }
+      }
+      stage('Summary') {
+        steps {
+            junit '**/TEST*.xml,**/cqlshlib.xml,**/nosetests.xml'
+
+            // the following should fail on any installation other than 
builds.apache.org
+            //  TODO: keep jenkins infrastructure related settings in 
`cassandra_job_dsl_seed.groovy`
+            warnError('cannot send notifications') {
+              slackSend channel: '#cassandra-builds', message: 
"${currentBuild.fullDisplayName} completed: ${currentBuild.result}. See 
${env.BUILD_URL}"
+              emailext to: '[email protected]', subject: "Build 
complete: ${currentBuild.fullDisplayName} [${currentBuild.result}] 
${env.GIT_COMMIT}", body: '${CHANGES}  ${JELLY_SCRIPT,template="text"}'
+            }
+      }
+  }
+}
+
+def copyTestResults(target) {
+    step([$class: 'CopyArtifact',
+            projectName: "${env.JOB_NAME}-${target}",
+            optional: true,
+            fingerprintArtifacts: true,
+            selector: [$class: 'StatusBuildSelector', stable: false],
+            target: target]);
+}
diff --git a/build.xml b/build.xml
index bd7878a..c307e26 100644
--- a/build.xml
+++ b/build.xml
@@ -1559,10 +1559,6 @@
     </testmacro>
   </target>
 
-  <target name="test-all" 
-          
depends="eclipse-warnings,test,long-test,test-compression,pig-test,test-clientutil-jar"
 
-          description="Run all tests except for those under test-burn" />
-  
   <!-- Use JaCoCo ant extension without needing externally saved lib -->
   <target name="jacoco-init" depends="maven-ant-tasks-init">
     <artifact:dependencies pathId="jacocoant.classpath">
@@ -1785,7 +1781,7 @@
     ]]>
   </scriptdef>
 
-  <target name="test" depends="build-test" description="Parallel Test Runner">
+  <target name="test" depends="eclipse-warnings,build-test" 
description="Parallel Test Runner">
     <path id="all-test-classes-path">
       <fileset dir="${test.unit.src}" includes="**/${test.name}.java" 
excludes="**/pig/*.java **/distributed/test/UpgradeTest*.java" />
     </path>
diff --git a/ide/idea/workspace.xml b/ide/idea/workspace.xml
index e632b5f..4826f6c 100644
--- a/ide/idea/workspace.xml
+++ b/ide/idea/workspace.xml
@@ -324,7 +324,6 @@
         <filter targetName="cql-test" isVisible="true" />
         <filter targetName="cql-test-some" isVisible="true" />
         <filter targetName="pig-test" isVisible="true" />
-        <filter targetName="test-all" isVisible="true" />
         <filter targetName="jacoco-init" isVisible="false" />
         <filter targetName="jacoco-report" isVisible="false" />
         <filter targetName="jacoco-cleanup" isVisible="true" />


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to