Merge branch 'cassandra-2.2' into cassandra-3.0

This commit is contained in:
Mick Semb Wever 2020-01-21 19:05:54 +01:00
commit 14aa561c32
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
3 changed files with 274 additions and 6 deletions

273
.jenkins/Jenkinsfile vendored Normal file
View File

@ -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('cqlsh') {
steps {
warnError('Tests unstable') {
build job: "${env.JOB_NAME}-cqlsh-tests"
}
}
post {
success {
warnError('missing test xml files') {
script {
copyTestResults('cqlsh-test')
}
}
}
unstable {
warnError('missing test xml files') {
script {
copyTestResults('cqlsh-test')
}
}
}
}
}
}
}
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('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: 'builds@cassandra.apache.org', 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]);
}

View File

@ -1507,10 +1507,6 @@
</sequential>
</target>
<target name="test-all"
depends="eclipse-warnings,test,long-test,test-compression"
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">
@ -1746,7 +1742,7 @@
<echo message="Mem size : ${mem.size}"/>
</target>
<target name="test" depends="build-test,get-cores,get-mem" description="Parallel Test Runner">
<target name="test" depends="eclipse-warnings,build-test,get-cores,get-mem" description="Parallel Test Runner">
<path id="all-test-classes-path">
<fileset dir="${test.unit.src}" includes="**/${test.name}.java" excludes="**/distributed/test/UpgradeTest*.java" />
</path>

View File

@ -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" />